【问题标题】:NodeJS - Communicate between two circular processesNodeJS - 在两个循环进程之间进行通信
【发布时间】:2018-04-25 09:50:42
【问题描述】:

所以我试图让两个 node.js 进程进行通信。 这是我正在尝试做的一个快速示例:

Process1.js

var process2 = require('./process2');

class Process1 {

    constructor() {
        this._value = process2.getValue();
        this.value = [];
    }

    addValue(_value) {
        this.value.push(_value);
    }

}

Process2.js

var process1 = require('./process1');

class Process2 {

    constructor() {
        this.value = "Hello";
    }

    getValue() {
        process1.addValue(this.value);
    }

}

我知道这段代码可以很容易地完成,不需要放在两个单独的文件中......但这只是一个例子。

我尝试过使用 FORK,但因为它是一个“循环”流程循环……

如果有人知道我可以做些什么来让这两个过程相互协作,那将不胜感激:)

【问题讨论】:

  • process2.getValue() 应替换为 this.addValue('Hello');
  • 我知道可以这样做,这只是一个例子......我需要让两个进程相互通信
  • 当您遇到循环依赖问题时,您应该考虑改写代码。

标签: javascript node.js process communicate


【解决方案1】:

你应该阅读一些关于循环依赖的文章。

这个例子在我看来是相当不错的: http://blog.cloudmineinc.com/managing-cyclic-dependencies-in-node.js

对于这个,您可以使用依赖注入,这意味着您需要来自一个脚本,并将 Process1 的实例提供给 Process2.getValue 并将 Process2 的实例提供给 Process1-constructor。

【讨论】:

  • 这与我需要的很接近,我正在尝试找到一种安全的方法来做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多