NodeJS - общение между двумя круговыми процессами

Поэтому я пытаюсь заставить два процесса 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 ответ

Вы должны прочитать некоторые статьи о циклических зависимостях.

Это, например, на мой взгляд, неплохо: http://blog.cloudmineinc.com/managing-cyclic-dependencies-in-node.js

Для этого вы можете использовать Dependency Injection, что означает, что вам требуется как из одного скрипта, так и передать экземпляр Process1 для Process2.getValue и экземпляр Process2 для конструктора Process1.

Другие вопросы по тегам