Node.js接口
EventEmitter事件
- **事件:newListener、removeListener** > 所有 `EventEmitter` 在添加新监听器时触发事件 `'newListener'`,在删除现有监听器时触发 `'removeListener'` ```js import { EventEmitter } from 'node:events'; class MyEmitter extends EventEmitter {} const myEmitter = new MyEmitter(); myEmitter.once('newListener', (event, listener) => { if (event === 'event') { myEmitter.on('event', () => { console.log('B'); }); } }); ``` - > **emitter.addListener(eventName, listener):**emitter.on(eventName, listener)的别名 > > **emitter.on(eventName, listener):**将 listener 函数添加到名为 eventName 的事件的监听器数组的末尾。 不检查是否已添加 listener。 多次调用传入相同的 eventName 和 listener 组合将导致多次添加和调用 listener。返回对 EventEmitter 的引用,以便可以链式调用。 - > **emitter.off(eventName, listener):**emitter.removeListener() 的别名。 > > **emitter.removeAllListeners([eventName]):**删除所有监听器,或指定 eventName 的监听器。返回对 EventEmitter 的引用,以便可以链式调用。 > > **emitter.removeListener(eventName, listener):**从名为 eventName 的事件的监听器数组中移除指定的 listener。返回对 EventEmitter 的引用,以便可以链式调用。 - > **emitter.listeners(eventName):**返回名为 eventName 的事件的监听器数组的副本。 > > **emitter.rawListeners(eventName):**返回名为 eventName 的事件的监听器数组的副本,包括任何封装器(例如由 .once() 创建的封装器)。 > > **emitter.listenerCount(eventName[, listener]):**返回监听名为 eventName 的事件的监听器数量。 如果提供了 listener,它将返回在事件的监听器列表中找到监听器的次数。 - > **emitter.getMaxListeners():**返回 EventEmitter 的当前最大监听器数的值,该值由 emitter.setMaxListeners(n) 设置。 > > **emitter.setMaxListeners(n):**默认情况下,如果为特定事件添加了超过 10 个监听器,EventEmitter 将打印警告。此方法允许修改此特定 EventEmitter 实例的限制。返回对 EventEmitter 的引用,以便可以链式调用。 - > **emitter.once(eventName, listener):**为名为 eventName 的事件添加 one-time listener 函数。 下次触发 eventName 时,将移除此监听器,然后再调用。返回对 EventEmitter 的引用,以便可以链式调用。 > > **emitter.prependListener(eventName, listener):**将 listener 函数添加到名为 eventName 的事件的监听器数组的开头。 不检查是否已添加 listener。 多次调用传入相同的 eventName 和 listener 组合将导致多次添加和调用 listener。返回对 EventEmitter 的引用,以便可以链式调用。 > > **emitter.prependOnceListener(eventName, listener):**将名为 eventName 的事件的 one-time listener 函数添加到监听器数组的开头。 下次触发 eventName 时,将移除此监听器,然后再调用。返回对 EventEmitter 的引用,以便可以链式调用。 - > **emitter.emit(eventName[, ...args]):**按注册顺序同步地调用为名为 eventName 的事件注册的每个监听器,并将提供的参数传给每个监听器。如果事件有监听器,则返回 true,否则返回 false > > **emitter.eventNames():**返回列出触发器已为其注册监听器的事件的数组。 数组中的值是字符串或 Symbol。 > > **emitterSymbol.for('nodejs.rejection'):**ymbol.for('nodejs.rejection') 方法被调用,以防在触发事件时发生 promise 拒绝,并且在触发器上启用了 captureRejections。
顶部
收展
底部
[TOC]
目录
CommonJS 模块
package包模块
全局对象
http超文本传输协议
util实用工具
buff缓冲区
断言测试
EventEmitter事件
child_process子进程
相关推荐
Node.js教程:新手入门
Node.js:ExpressWeb
朴灵《深入浅出 Node.js》