【问题标题】:Scope of events from process.emit in Node.jsNode.js 中 process.emit 的事件范围
【发布时间】:2017-05-10 09:41:05
【问题描述】:

我有这样的代码来发送事件:

process.emit('event', event);

我想像这样收听这些事件:

process.on('event', function(event) {
     //HANDLING LOGIC
});

当文件位于同一文件夹中时,它可以正常工作。当我在其他文件夹中找到侦听器时,它不会被触发。 这可能是什么根本原因,我该如何处理?

编辑:

实际问题只是缺少包含事件处理的文件的公开。真丢人。

【问题讨论】:

  • 你是如何加载这些文件的?
  • @robertklep 不确定您的意思?我认为(可能是错误的)每当我使用流程时,我也会加载事件模块,该模块在分发事件方面具有全局范围。我也用我自己的文件检查了这一点,该文件隐式暴露了 eventEmitter,但它也不起作用。
  • 你写,“当我在其他文件夹中找到监听器时”,这意味着你正在以某种方式加载包含该监听器的文件。需要明确的是:事件发射器只能在同一个(Node)进程中工作,您不能在一个进程中发出并在另一个进程中接收这些事件。
  • @robertklep 您的问题帮助我解决了实际问题,谢谢!

标签: node.js events scope


【解决方案1】:

process 是一个全局实例。范围不应与您的问题有关。

process in node.js docs

【讨论】:

    猜你喜欢
    • 2012-10-26
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多