【Node.js】events

EventEmitter 像是 Vue2 的event bus,或者Vue3 的 mitt。主要采用了发布订阅模式来处理事件。

js 复制代码
const EventEmitter = require('events');

const event = new EventEmitter()
// 监听(订阅)事件
event.on('test',(data)=>{
    console.log(data)
})

event.emit('test','testtt') // 派发事件

监听的数量默认为10 个。当然我们可以自行修改event.setMaxListeners(20)

once 方法只监听一次。off 方法停止监听。

可以发现 process 可支持这些方法,底层就是因调用了 EventEmitter 的原型对象给 process 对象。主要使用 Object.setPrototypeOf(target, source)

js 复制代码
const EventEmitter = require('events')
ObjectSetPrototypeOf(ObjectGetPrototypeOf(process), EventEmitter.prototype)
相关推荐
重铸码农荣光5 分钟前
JavaScript 变量声明:从 var 到 let/const 的进化与深思
javascript
hweiyu0019 分钟前
Node.js+Koa2+MySQL 打造前后端分离项目(视频教程)
数据库·mysql·node.js
Elieal20 分钟前
Java的Collection 集合体系详解
java·开发语言
小奶包他干奶奶23 分钟前
如何使用vscode和express开发node.js
前端·node.js
韭菜炒大葱26 分钟前
🌟 var、let与const:JavaScript变量声明的前世今生
javascript·面试
qyhua31 分钟前
从零部署自维护版 Uptime Kuma:Node.js + PM2 + Nginx 全链路实战指南
运维·nginx·node.js
元直数字电路验证1 小时前
HTML 标签及推荐嵌套结构
前端·javascript·html
charlie1145141911 小时前
HTML 理论笔记
开发语言·前端·笔记·学习·html·1024程序员节
郝学胜-神的一滴1 小时前
Linux中的`fork`函数详解:深入解析
linux·服务器·开发语言·c++·算法