Nodejs 学习笔记之 events

发布于 1周前 作者 yuanlaile 来自 nodejs/Nestjs

Nodejs 学习笔记之 events


1 回复

在Node.js中,events模块是非常核心的一部分,它提供了事件驱动架构的基础。通过events模块,你可以创建事件发射器(EventEmitter),用于在对象之间异步地触发和监听事件。

以下是一个简单的Node.js学习笔记,关于如何使用events模块:

// 引入events模块
const EventEmitter = require('events');

// 创建一个事件发射器
class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();

// 监听一个事件
myEmitter.on('event', () => {
  console.log('an event occurred!');
});

// 触发一个事件
myEmitter.emit('event');

// 你也可以传递参数给事件监听器
myEmitter.on('data', (data) => {
  console.log(`Received data: ${data}`);
});

myEmitter.emit('data', 'Hello, World!');

// 还可以监听一次事件后自动移除监听器
myEmitter.once('onceEvent', () => {
  console.log('This will be logged only once');
});

myEmitter.emit('onceEvent');
myEmitter.emit('onceEvent'); // 这个不会被触发

// 使用错误事件
myEmitter.on('error', (err) => {
  console.error('An error occurred:', err);
});

myEmitter.emit('error', new Error('Something went wrong!'));

这个示例展示了如何创建和触发事件,如何传递参数给事件监听器,以及如何使用once方法监听一次事件后自动移除监听器。此外,还演示了如何监听和处理错误事件。这些是Node.js中events模块的基础用法,掌握这些可以帮助你更好地理解和使用Node.js的事件驱动架构。

回到顶部