官方文档:http://nodejs.cn/api/events.html
菜鸟教程文档:https://www.runoob.com/nodejs/nodejs-event.html
Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。
events 模块只提供了一个对象: events.EventEmitter。EventEmitter 的核心就是事件触发与事件监听器功能的封装。
简单用法:
const EventEmitter = require('events');
const emitter = new EventEmitter();
//为save注册了两个事件监听器 addListener是on的别名
emitter.addListener('save',function1)
emitter.on('save',function2)
//为submit注册监听器
emitter.on('submit',function3)
//触发事件
emitter.emit('submit') //function3
emitter.emit('save') //function1 function2
//从监听器数组中删除一个监听器实例
emitter.removeListener('save',function1)
emitter.emit('save') //function2
//删除所有监听器,或指定 eventName 的监听器。
emitter.removeAllListeners([eventName])