MST
星途 面试题库

面试题:Node.js 中 EventEmitter 如何实现自定义事件及监听

请阐述在 Node.js 中使用 EventEmitter 构建自定义事件系统的基本步骤,包括如何定义一个自定义事件以及如何为该事件添加监听器,并给出相应的代码示例。
16.7万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试
  1. 引入 events 模块: 在 Node.js 中,EventEmitterevents 模块的核心类,使用前需要引入该模块。
const EventEmitter = require('events');
  1. 创建 EventEmitter 实例: 通过 EventEmitter 类创建一个自定义事件发射器实例。
const myEmitter = new EventEmitter();
  1. 定义自定义事件: 在 Node.js 中,你无需提前声明事件,只需在需要触发事件的地方使用 emit 方法触发事件即可。
  2. 为自定义事件添加监听器: 使用 onaddListener 方法为自定义事件添加监听器。
myEmitter.on('customEvent', function(data) {
    console.log('监听到 customEvent 事件,接收到的数据:', data);
});
  1. 触发自定义事件: 使用 emit 方法触发自定义事件,并可以传递参数给监听器。
myEmitter.emit('customEvent', '这是传递的数据');

完整代码示例如下:

const EventEmitter = require('events');

const myEmitter = new EventEmitter();

myEmitter.on('customEvent', function(data) {
    console.log('监听到 customEvent 事件,接收到的数据:', data);
});

myEmitter.emit('customEvent', '这是传递的数据');