在node.js的eventEmitter里有两个事件,newListener和removeListener
newListener
newListener是在新监听器添加的时候被被触发的。
接收参数:
event--字符串,事件名称
listener--处理事件函数
例子:
let events = require("events");
let eventEmitter = new events.EventEmitter();
eventEmitter.on("newListener",(event,Listener)=>{
if(event==="event"){
console.log("B")
}
});
eventEmitter.on("event",()=>{
console.log("A");
});
eventEmitter.emit("event");
输出:
B
A
正明在添加event监听器的时候先触发newListener了.
removeListener
removeListener是当监听器从指定监听器数组中被移除的时候,而且此操作会改变之后那些监听器的索引.
接收参数:
event--字符串,事件名称
listener==处理函数
例子
let events = require("events");
let eventEmitter = new events.EventEmitter();
eventEmitter.on("removeListener",(event,Listener)=>{
if(event==="event"){
console.log("B")
}
});
eventEmitter.on("event",()=>{
console.log("A");
});
eventEmitter.emit("event");
eventEmitter.removeAllListeners("event");
输出
A
B
证明event被移除的时候触发的
注意:
removeListener和newListener是不能同时触发的。newListener会影响removeListener。
刚开始学习node.js水平有限,以此给自己学习做个记录,如果有错误的地方还请指正。