如何在Node.js中创建和使用EventEmitter对象?

10 min read

要在Nodejs中实现一个EventEmitter,可以使用EventEmitter类。该类的实例可以触发事件,并可以监听该实例上的事件。以下是一个简单的示例:

const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}

// 创建一个新的EventEmitter实例
const myEmitter = new MyEmitter();

// 监听一个事件
myEmitter.on('event', (arg1, arg2) => {
  console.log('触发了事件', arg1, arg2);
});

// 触发事件
myEmitter.emit('event', '参数1', '参数2');

在这个例子中,我们创建了一个新的EventEmitter实例和一个名为'event'的事件监听器。当我们调用emit()方法时,这个监听器就会执行,打印出两个参数。

除了on()方法外,EventEmitter类还支持其他方法,如once()(只监听一次事件)、emit()(触发事件)和removeListener()(移除事件监听器)等。