Skip to content

Commit

Permalink
Add example send with generators version
Browse files Browse the repository at this point in the history
  • Loading branch information
rudijs committed Feb 8, 2016
1 parent 30a346b commit 47d5680
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions examples/tutorials/send_generators.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/usr/bin/env node

'use strict';

const co = require('co');
const amqp = require('amqplib');

co(function* () {
// connection errors are handled in the co .catch handler
const conn = yield amqp.connect('amqp://localhost');

// try catch will throw any errors from the yielding the following promises to the co .catch handler
try {
const q = 'hello';
const msg = 'Hello World!';

// use a confirm channel so we can check the message is sent OK.
const channel = yield conn.createConfirmChannel();

yield channel.assertQueue(q);

channel.sendToQueue(q, new Buffer(msg));

// if message has been nacked, this will result in an error (rejected promise);
yield channel.waitForConfirms();

console.log(" [x] Sent '%s'", msg);

channel.close();
}
catch (e) {
throw e;
}
finally {
conn.close();
}

}).catch(err => {
console.warn('Error:', err);
});

0 comments on commit 47d5680

Please sign in to comment.