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.