有没有办法“吃掉”其他听众?
x.on("test", function(x){
if(x==4) {
console.log("Event1");
}
});
x.on("test", function(x){
if(x==5) {
console.log("Event2");
}
});
x.on("test", function(x){
console.log("Event3");
});
x.emit("test", 4);
x.emit("test", 5);
x.emit("test", -1);
如果x为4,有没有办法让事件1“吃掉”(不允许它发生)其他事件?
如果没有将if(x!= 4&& x!= 5)添加到事件3(如果有很多听众,它可能会很快烦恼)。
奖励:我是否可以举行“后备”活动来捕捉没有任何听众的活动。
答案 0 :(得分:1)
EventEmitter
内置节点不支持" eat"其他事件处理程序或有一个" catch-all"事件处理程序如果您需要这种功能,则必须在npm上使用其他EventEmitter
实现之一。
答案 1 :(得分:0)
你可以试试这个
x.on("test", function(x){
switch(x){
case 4:
console.log("Event1");
break;
case 5:
console.log("Event2");
break;
default:
console.log("Event3");
}
});
x.emit("test", 4);
x.emit("test", 5);
x.emit("test", -1);