(我正在使用node-amqp和rabbitmq服务器。)
我想猜一下,如果出现问题,为什么我会有一个接近的事件。例如,如果我尝试打开与队列的连接(参数错误),我会收到错误事件。这是完美的确定。
但是,在任何错误之后我也会收到一个紧密的连接(在这种情况下,可能是因为关闭了队列的失败套接字)。然后,自动重新连接,我收到(初始)准备好的事件。
问题:
connection.on('ready', function() {
do_a_lot_of_things
}).on(error, function(error){
solve_the_problem
});
如果出现问题,我收到错误,但接着是“就绪”事件,它将重新执行do_a_lot_of_things。我的做法错了吗?
最好的问候
答案 0 :(得分:2)
您可以使用connection.once('ready', function () { … })
(请参阅the documentation),它将仅在第一个事件上执行处理程序。