等到node-amqp发送消息?

如果我使用下面的代码发送消息给RabbitMQ:

var amqp = require('amqp'); var connection = amqp.createConnection(); connection.on('ready', function() { connection.publish('foo', 'Hello'); process.exit(); }); 

那么这个消息就不会被发送,这个过程就会退出。 如果我删除process.exit() ,那么消息被发送,但是这个过程永不退出。

如何让node-amqp在发送消息时告诉我?

在发布function中使用callback。 在callback中结束连接并退出。

 connection.publish('foo', 'hello', function(){ connection.end(); process.exit(); });