一、events模块的常用方法
const EventsEmitter = require('events');const emitter = new EventsEmitter();function HLog(msg){console.log(msg);
}
emitter.on('hlog', HLog);setTimeout(() => {emitter.emit('hlog', 'hello emitter!')emitter.off('hlog', HLog);setTimeout(() => {emitter.emit('hlog', 'hello emitter again!')}, 1000);
}, 2000)
二、events模块的其他方法
const EventsEmitter = require('events');
const ee = new EventsEmitter();
ee.on('func1', ()=>{ })
ee.on('func1', ()=>{ })
ee.on('func1', ()=>{ })ee.on('func2', ()=>{ })
ee.on('func2', ()=>{ })
console.log(ee.eventNames());
console.log(ee.getMaxListeners());
console.log(ee.listenerCount('func1'));
console.log(ee.listeners('func1'));
ee.once('func3', ()=> {console.log('func3!');
})ee.emit('func3');
ee.emit('func3');
ee.emit('func3');
ee.on('func2', ()=>{console.log('func2 second');
})
ee.prependListener('func2', () => {console.log('func2 first!');
})
ee.emit('func2');
ee.on('func1', ()=>{console.log('func1 second');
})
ee.prependOnceListener('func1', () => {console.log('func1 first!');
})
ee.emit('func1');
ee.emit('func1');
ee.on('func3', ()=> {console.log('func3!');
})
ee.emit('func3');
ee.removeAllListeners();
ee.emit('func3');