1、如何传给事件处理程序一些信息:
const EventEmitter = require('events')
class CustomEventEmitte extends EventEmitter {
}
const ce = new CustomEventEmitte()
ce.on('error', (err,time) => {
console.log(err)
console.log(time)
})
ce.emit('error', new Error('opps!'), Date.now())
2、如果事件只想触发一次:once
ce.once('error', (err,time) => {
3、移除一个或全部:
function fn1 () {
console.log('fn1')
}
function fn2 () {
console.log('fn2')
}
ce.on('test', fn1);
ce.on('test', fn2);
setInterval(() => {
ce.emit('test')
},500)
setTimeout(() => {
ce.removeListener('test', fn1)
},1500)
setTimeout(() => {
ce.removeAllListener('test', fn1)
},5000)