所有能触发事件的对象都是 EventEmitter 类的实例。 这些对象开放了一个 eventEmitter.on() 函数,允许将一个或多个函数绑定到会被对象触发的命名事件上。 事件名称通常是驼峰式的字符串,但也可以使用任何有效的 JavaScript 属性名。
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log('触发了一个事件!');
});
myEmitter.emit('event');
EventEmitter 类
事件
- newListener:一个监听器被添加到其内部监听器数组之前触发自身的 'newListener' 事件。
- removeListener:
属性
- defaultMaxListeners:每个事件默认可以注册最多 10 个监听器,EventEmitter 实例的默认值可以使用 EventEmitter.defaultMaxListeners 属性改变。
方法
- emit(eventName[, ...args]):
- getMaxListeners():返回 EventEmitter 当前的最大监听器限制值
- listenerCount(eventName):正在监听名为 eventName 的事件的监听器的数量。
- listeners(eventName):eventName 的事件的监听器数组的副本。
- on(eventName, listener):
- once(eventName, listener):
- prependListener(eventName, listener):添加 listener 函数到名为 eventName 的事件的监听器数组的开头
- prependOnceListener(eventName, listener):
- removeAllListeners([eventName]):
- removeListener(eventName, listener):
- setMaxListeners(n):
网友评论