Javascript 每次调用一个模块时,非全局变量
这些变量位于module.exports文件中,当我多次调用该模块时,每个实例共享这些值。我不希望他们共享值,每次我调用模块时,我希望每次调用都有自己的循环号、original、newprod等。。就像多线程一样 我在Mac电脑上打瞌睡Javascript 每次调用一个模块时,非全局变量,javascript,arrays,node.js,multithreading,variables,Javascript,Arrays,Node.js,Multithreading,Variables,这些变量位于module.exports文件中,当我多次调用该模块时,每个实例共享这些值。我不希望他们共享值,每次我调用模块时,我希望每次调用都有自己的循环号、original、newprod等。。就像多线程一样 我在Mac电脑上打瞌睡 cycle=0; var原始=[]; var newprod=[]; 变量proxylist=[] 新编辑------ 我在调用时添加了一个新的构造函数,但它不起作用。不确定是什么问题,他们仍然在共享变量。这是我的密码 config.sites.forEach(
cycle=0;
var原始=[];
var newprod=[];
变量proxylist=[]代码>
新编辑------
我在调用时添加了一个新的构造函数,但它不起作用。不确定是什么问题,他们仍然在共享变量。这是我的密码
config.sites.forEach(函数(站点){
var mod=require(/src/monitor
).init,
mod1=新mod(现场);
}); 如果需要防止重写变量,则应。作用域可以是函数或类
对于您的情况,您可以创建一个类来维护每个实例中隔离的变量,然后创建方法来更新它们的值
另外,从es2015开始,就像在大多数语言中一样。你不能让你的模块导出一个函数吗?我导出了,但我试图使函数中的变量对每个调用都是唯一的。模块不被调用,而是被加载。一次-只有一个模块。如果你想调用一些东西,把代码放在一个函数中。谢谢,我把它们限制在一个作用域(函数)内了。但是我多次调用该函数。我明白了,但是您是否每次调用该函数时都尝试保存结果?var a=something(),然后使用我放的链接中的方法进行访问:var originalA=a.getOriginal()?