Nodejs 学习笔记之 events
Nodejs 学习笔记之 events
昨天刚写完的node.js 学习笔记之 events
欢迎大家 star 和 issue
最近更新
+ Node.js 之 events
+ Node.js 之 util
+ Node.js 之 Buffer (二)
+ Node.js 之 Buffer (一)
+ Node.js 之 console
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的事件驱动架构。