Node.js 中的 EventEmitter 是一个用于处理事件的核心模块。它提供了一种简单而有效的方式来处理异步操作和事件驱动的编程。在 Node.js 中,几乎所有的核心模块都继承自 EventEmitter,比如 fs、http 等。
使用 EventEmitter
要使用 EventEmitter,首先需要引入它:
const EventEmitter = require('events');
然后创建一个实例:
const myEmitter = new EventEmitter();
监听事件
可以使用 on 方法来监听事件:
myEmitter.on('event', () => { console.log('触发了 event 事件'); });
触发事件
可以使用 emit 方法来触发事件:
myEmitter.emit('event');
传递参数
除了触发事件外,还可以传递参数:
myEmitter.on('sum', (a, b) => { console.log(`a + b = ${a + b}`); }); myEmitter.emit('sum', 2, 3);
一次性事件监听
可以使用 once 方法来监听一次性事件:
myEmitter.once('onceEvent', () => { console.log('只会触发一次'); }); myEmitter.emit('onceEvent'); myEmitter.emit('onceEvent'); // 不会再次触发
移除事件监听
可以使用 off 方法来移除事件监听:
const listener = () => { console.log('监听器'); }; myEmitter.on('removeListenerEvent', listener); myEmitter.off('removeListenerEvent', listener);
以上就是关于 Node.js EventEmitter 的基本使用方法,接下来我们会继续学习更多关于 Node.js 的知识。