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 に答える