事件觸發器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);