nodejs提供了 event 模块构建类似系统的选项。
具体上,event 提供 EventEmitter类,用于处理事件。
用以下代码初始化
const EventEmitter = require('events')
const eventEmitter = new EventEmitter()
该对象公开了 on 和 emit 方法
- emit 用于触发事件
- on 用于添加回调函数(会在事件被触发时执行)
实例如下
// 添加回调
eventEmitter.on('start', (p1, p2) => {
console.log(p1, p2)
})
// 触发事件
eventEmitter.emit('start', '我是p1', '我是p2')
其他公开方法
once()添加单次监听器removeListener()/off()移除监听器removeAllListener()移除全部监听器
可以在事件模块的页面 nodejs.cn/api/events.… 上阅读其所有详细信息。