Node.js中唯一的EventListener ID

我目前正在使用以下创buildeventListeners:

client.on('data', function(data){ // Lots of other functions etc.. }); 

我特别想知道的是,是否有可能通过一个唯一的ID来识别这个特定的听众,以便我可以单独参考它?

这个eventListener可能有多个实例在任何时候打开,我希望能够删除它们的基础上收到一个特定的数据事件,将引用这个ID。 现在的问题是,我不知道如何识别单个事件监听器。

谢谢!

您可以随时将侦听器函数存储到一个variables中,并像这样添加或删除它:

 var EventEmitter = require('events').EventEmitter emitter = new EventEmitter(); var addListener = function(id){ var listener = function(){ console.log("Listener", id); emitter.removeListener("test", listener); } emitter.on("test", listener); } addListener("a"); addListener("b"); emitter.emit("test"); // Listener a // Listener b 

有了这个你有一个独特的ID通过引用监听器函数的监听器variables。 在该范围内,您可以根据范围删除侦听器。