javascript - 模块之间共享的事件发射器

标签 javascript node.js eventemitter

我使用事件发射器,似乎我在几个模块中需要它, 我的意思是我想使用相同的实例,我的问题是是否最好创建一个公开事件发射器实例的模块以及建议如何执行此操作?

我所做的类似于我在模块之间共享的内容,但不确定是否推荐......请让我知道

var events = require('events');
var eventEmitter = new events.EventEmitter();

module.exports = {
    getEventEmitter: function () {
        return eventEmitter;
    }
};

最佳答案

你的代码没问题。

如果你愿意的话,它可以像这样简化:


var events = require('events');
var eventEmitter = new events.EventEmitter();

module.exports = eventEmitter;

请注意,虽然这通常工作得很好(我经常这样做),it is possible to break the require module cache并最终得到一个不同的实例。

关于javascript - 模块之间共享的事件发射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35986465/

相关文章:

javascript - 移动多个元素并将它们放回原位

javascript - 根据日期/时间有条件地运行代码

javascript - 保护 Node.js 中的 API 路由

javascript - 服务器端编程选择 Laravel 还是 NodeJS 哪种语言

javascript - 将事件从一个事件发射器转发到另一个

javascript - 如何正确删除 Node js eventemitter 中的事件监听器

javascript - 获取元素的 DOM 层次结构级别(计算后代级别)

javascript - 服务器本身捕获的套接字 io 发出

javascript - JqueryUI接入修改拖动功能

javascript - vue 3发出警告 "Extraneous non-emits event listeners"