繁体   English   中英

每次调用模块时都使用非全局变量

[英]Non-global variables everytime I call a module

这些变量位于module.exports文件中,当我多次调用该模块时,每个实例共享这些值。 我不希望它们共享值,每次我调用模块时,我都希望每个调用都具有自己的循环号,原始循环号,newprod等。就像多线程。

我在Mac上使用NodeJS

cycle = 0; var original = []; var newprod = []; var proxylist = [];

新编辑-----

我在调用时添加了一个new构造函数,但没有用。 不知道是什么问题,他们仍然共享变量。 这是我的代码。

config.sites.forEach(function(site){var mod = require( ./src/monitor ).init,mod1 = new mod(site);});

如果需要防止覆盖变量,则应将它们限制在特定范围内 范围可以是函数或类。

对于您的情况,可以创建一个类来维护每个实例中隔离的变量,然后创建用于更新其值的方法。 这是我发现的一个例子

此外,从es2015起, 您可以像大多数语言一样创建类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM