Есть ли способ «съесть» других слушателей мероприятия?Есть ли способ «съесть» события в Node.js?
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);
Есть ли способ, чтобы сделать событие 1 «съесть» (не позволяют этому случиться) другие события, если х 4?
Без добавления if (x! = 4 & & x! = 5) к событию 3 (если есть много слушателей, это может раздражать быстро).
Бонус: Могу ли я иметь «аварийное» событие, чтобы поймать события, у которых нет слушателя.
для решения, почему бы не добавить флаг как 'eventTest.eaten = истина;' и проверить его :); Я не уверен, что кто-нибудь гарантирует, что события будут запущены в той же очереди, в которой они были установлены. –
вы также можете использовать объект как данные о событиях, такие как «{значение: 111, eaten: false}» и установить, что он был использован в качестве события пожара. –