NodeJS - 在两个循环过程之间进行通信

时间:2018-04-25 09:50:42

标签: javascript node.js process communicate

所以我试图让两个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,但因为它是一个“循环”过程循环...

如果有人知道如何让这两个过程相互合作,那将是非常感激的:)

1 个答案:

答案 0 :(得分:0)

您应该阅读一些关于Cyclic Dependencies的文章。

这个例子在我看来非常好: http://blog.cloudmineinc.com/managing-cyclic-dependencies-in-node.js

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