内存消息总线中的Nodejs使用EventEmitter进行交叉模块通信

时间:2014-12-02 19:54:30

标签: node.js eventemitter

我是nodejs的新手,我正在寻找在我的节点应用程序中使用pub / sub消息传递的方法,我可以使用它来进行模块/包之间的通信。

正在考虑使用EventEmitter,可能在进程上使用eventEmitter实例,因此它可以充当全局事件总线。但是我对这样做感到很不舒服,我不知道节点是否足以找出不这样做的坚实理由。

还是有替代方法吗?

这只是在内存中不跨越多个实例

1 个答案:

答案 0 :(得分:1)

如果您愿意,可以依赖模块缓存。如果需要,一些模块可以保持状态(例如猫鼬)。

所以我的意思是,如果您的消息总线模块在内部维护其状态,并仅导出pub / sub函数,那么任何其他需要它的模块将获得相同的'实例'因此能够对同一频道发布/发布。