EventEmitter 类const EventEmitter = require(’events’);’newListener’ 事件 当新增监听器时,在新的监听器被添加到其内部监听器数组之前触发’removeListener’ 事件 当移除已存在的监听器时触发 事件上监听器的数量最大限制数量 当前的监听器最大限制数的默认值:EventEmitter.defaultMaxListeners() 获取EventEmitter当前的监听器最大限制数的值:emitter.getMaxListeners() 设置EventEmitter当前的监听器最大限制数的值:emitter.setMaxListeners(n)当前数量 返回正在监听的名为 eventName 的事件的监听器的数量: emitter.listenerCount(eventName) 废弃:EventEmitter.listenerCount(emitter, eventName)在事件上添加/删除监听器添加 监听器会在每次触发命名事件时被调用 添加 listener 函数到名为 eventName 的事件的监听器数组的末尾 emitter.on(eventName, listener) 别名:emitter.addListener(eventName, listener) 添加 listener 函数到名为 eventName 的事件的监听器数组的开头 emitter.prependListener(eventName, listener) 监听器只在第一次触发命名事件时被调用一次 添加单次监听器 listener 到名为 eventName 的事件的监听器数组的末尾 emitter.once(eventName, listener) 添加单次监听器 listener 到名为 eventName 的事件的监听器数组的开头 emitter.prependOnceListener(eventName, listener)删除 从名为 eventName 的事件的监听器数组中移除指定的 listener emitter.removeListener(eventName, listener) 别名:emitter.off(eventName, listener) 移除全部监听器或指定的 eventName 事件的监听器 emitter.removeAllListeners([eventName])触发事件emitter.emit(eventName[, …args]) 1. 按照监听器注册的顺序,同步地(顺序的依次)调用每个注册到名为 eventName 的事件的监听器,并传入提供的参数。可以使用 setImmediate() 或 process.nextTick() 切换到异步模式。 2. 在事件触发之后、且最后一个监听器执行完成之前, removeListener() 或 removeAllListeners() 不会从 emit() 中移除绑定的监听器 3. 如果事件有监听器,则返回 true,否则返回 false获取已注册监听器的事件名数组emitter.eventNames() 数组中的值为字符串或 Symbol获取事件监听器数组获取事件监听器数组的副本 emitter.listeners(eventName)获取事件监听器数组的拷贝,包括封装的监听器(例如由 .once() 创建的) emitter.rawListeners(eventName)