大家好,我是前端理想哥!
今天是我们Node.js学习的第七节课,我们来聊聊Node.js中一个非常重要但又容易被忽视的概念——事件发射器(EventEmitter)!💥
如果你之前用过JavaScript做前端开发,那你肯定知道,用户交互(比如点击、键盘输入、鼠标移动)都通过事件来管理。而在Node.js中,我们也可以通过类似的机制来处理后台事件!😎
为什么要用EventEmitter?
Node.js让我们轻松管理事件流,从而处理异步操作,构建高效、灵活的应用。今天,就让我们来看看如何使用它。
首先,我们需要引入events模块:
import EventEmitter from 'node:events';
const eventEmitter = new EventEmitter();
事件触发:
-
emit()方法:用来触发事件 -
on()方法:用来监听事件并执行回调
举个例子,我们来创建一个“start”事件,当事件触发时,控制台输出“started”:
eventEmitter.on('start', () => {
console.log('started');
});
eventEmitter.emit('start'); // 触发事件
这时,控制台就会输出“started”。🎉
传递参数:
不仅如此,我们还能传递参数给事件处理函数,来让事件更加灵活!
eventEmitter.on('start', (number) => {
console.log(`started ${number}`);
});
eventEmitter.emit('start', 23); // 输出:started 23
甚至还能传递多个参数:
eventEmitter.on('start', (start, end) => {
console.log(`started from ${start} to ${end}`);
});
eventEmitter.emit('start', 1, 100); // 输出:started from 1 to 100
其他常用方法:
除了on()和emit(),EventEmitter还提供了许多其他方法,帮助你更好地管理事件:
once():一次性监听removeListener()/off():移除事件监听器removeAllListeners():移除所有监听器
这只是EventEmitter的冰山一角!在开发中,你会发现它能大大简化你的事件管理,尤其是异步编程时,效果更是立竿见影!🚀
好了,今天的 Node.js 小知识就分享到这里,大家如果有任何问题,欢迎在评论区留言,我们一起讨论!别忘了点赞、收藏、关注哦!下次见!
如果你也对 Node.js 感兴趣,记得关注理想哥,我们一起深入探索。