提问者:小点点

NodeJS-2个进程中的类/模块的一个实例


我在导出它的文件中有一个类,如下所示:

MyClass.js:

class testClass {
  key = 'initial value';
  constructor(){
    return this;
  }
}

module.exports = testClass;

那么我有2个分别运行的节点文件:

let instance = new require("./myClass.js");
instance.key = 'changed value';
// Keeps running

而且

let instance = new require("./myClass.js");
console.log(instance.key);
// Also keeps running

如何使第二个进程打印“已更改值”而不是“初始值”?

备注:

  • 我尝试在第一个文件之后运行第二个文件;
  • 这是我需要的一个非常简化的示例,我更改了上下文以使其更易于理解。

共1个答案

匿名用户

困难的是,我认为您不能在两个进程之间共享内存中的seme对象。

也许您必须考虑创建包含数据的第三个进程。

例如:dnode https://github.com/substack/dnode

或者使用一些快速内存数据库作为Redis

进程0:data store、dnode或Redis

过程1:连接到数据存储并设置新值

过程2:连接到数据存储并获取值