在程序中使用监听器来监测某个事情的发生,需要创建一个扩展自EventEmitter的类 创建logger.js
const EventEmitter = require('events');
//使用es6 class类 这样这个类就具有了EventEmitter所有的功能
class Logger extends EventEmitter {
// 添加任意自定义功能
log (msg) {
console.log(message);
//发起事件
this.emit('messageLogged', {id: 1, url: 'https://'})
}
}
// 暴露的是类 不是方法
module.exports = Logger;
回到需要使用的地方
const Logger = require('./logger.js');
const logger = new Logger();
logger.on('messageLogged', (arg) => {
console.log('Listener called', arg)
})
logger.log('message');
执行任务 输出结果
message
Listener called { id: 1, url: 'https://' }