我有一个生成许多事件的 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”中“event”之前的“var”:“for(event ...”
- 添加语句 'var msg = "服务器发送了一个类型为 "+event;' 的事件;在“on”语句之前或在“console.log”语句之前,然后是“console.log(msg)”。
这些变化都不起作用......
我应该怎么办?