2

(我正在使用 node-amqp 和 rabbitmq 服务器。)

如果出现问题,我试图猜测为什么我有一个关闭事件。例如,如果我尝试打开与队列的连接(参数错误),我会收到错误事件。这是完美的确定。

但是,在出现任何错误之后,我也会收到一个关闭连接(在这种情况下,可能是因为将失败的套接字关闭到队列)。之后,自动重新连接,我收到(初始)就绪事件。

问题:

connection.on('ready', function() {
 do_a_lot_of_things

}).on(error, function(error){
 solve_the_problem
});

如果出现问题,我会收到错误消息,但随后会出现“就绪”事件,它将重新执行 do_a_lot_of_things。我的方法错了吗?

此致

4

1 回答 1

2

您可以使用connection.once('ready', function () { … })(参见文档),它将仅在第一个事件上执行处理程序。

于 2014-01-10T11:33:53.553 回答