我使用事件发射器,似乎我在几个模块中需要它, 我的意思是我想使用相同的实例,我的问题是是否最好创建一个公开事件发射器实例的模块以及建议如何执行此操作?
我所做的类似于我在模块之间共享的内容,但不确定是否推荐......请让我知道
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/