事件触发器events的使用方法
- eventEmitter.on(eventName, listener)注册监听器器
- eventName | 事件名称
- listener 回调函数。
- eventEmitter.emit(eventName[, …args]) 触发事件
- eventName | 事件名称
- …args 参数
- eventEmitter.once(eventName, listener) 绑定的事件只能触发⼀一次
- emitter.removeListener(eventName,listener) 从名为 eventName 的事件的监听器器数组中移除指定的 listener 。
- emitter.removeAllListener([eventName]) 移除全部监听器或指定的 eventName 事件的监听器
const EventEmitter = require('events');
class MyEmitter extends EventEmitter{}
let myEmitter = new MyEmitter();
function fn1(a,b){
console.log('触发了了事件,带参 ',a+b)
}
function fn2(){
console.log("触发了了事件,不不带参")
}
myEmitter.on('hi',fn1)
myEmitter.on('hi',fn2)
myEmitter.once('hello',()=>{
console.log('触发了了hello事件')
})
myEmitter.emit('hi',1,8);
// myEmitter.emit('hello')
// myEmitter.emit('hello')
// myEmitter.removeListener('hi',fn1)
myEmitter.removeAllListeners('hi');
myEmitter.emit('hi',1,8);