我目前正在使用以下内容创建eventListeners:
client.on('data', function(data){
// Lots of other functions etc..
});
我特别想知道的是,是否可以通过唯一ID识别此特定侦听器,以便我可以单独引用它?
此事件可能会随时打开多个实例,我希望能够根据接收到将引用此ID的特定数据事件来删除它们。现在的问题是,我不知道如何识别单个eventListeners。
谢谢!
答案 0 :(得分:2)
您始终可以将侦听器功能存储到变量中,然后像这样添加或删除它:
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。在该范围内,您可以根据范围删除侦听器。