多くのイベントを生成する socket.io サーバーがあり、それらすべてをキャッチして同様のメッセージを出力したいと考えています。今、私はこれを行います:
for (var event in {eventA: 1, eventB: 1, eventC: 1}) {
this.translationSocket.on(event, function(result) {
console.log("Server sent an event of type "+event);
});
}
サーバーが eventA、eventB、および eventC を送信すると、次のように表示されます。
Server sent an event of type eventC
Server sent an event of type eventC
Server sent an event of type eventC
つまり、私のプログラムはすべてのイベントをキャッチしますが、常に eventC のタイプを表示します...
次のバリエーションを試しました。
- "for": "for (event ..." 内の "event" の前の "var" を削除します。
- ステートメント 'var msg = "サーバーがタイプ "+event;" のイベントを送信しました。'on' ステートメントの前または 'console.log' ステートメントの直前、そして 'console.log(msg)' です。
これらのバリエーションはどれも機能しませんでした...
私は何をすべきか?