2

多くのイベントを生成する 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)' です。

これらのバリエーションはどれも機能しませんでした...

私は何をすべきか?

4

3 に答える 3