我在NodeJs项目中遇到全局变量的问题。在这个项目中,我使用express模块实现了webservices。当客户端使用该服务时,json对象将在请求正文中发送。我正在读取请求体中的所有属性并放入全局变量(如下所示)。
if(obj.businessEntities.year != null || obj.businessEntities.year=='undefined')
GLOBAL.gEffectiveYear = obj.businessEntities.year;
我对上面的全局变量的问题是,如果没有在json中传递year(它的工作方式与java中的静态变量一样),则第一个请求的值将用于下一个请求。我想使这个线程安全或保持每个请求唯一的值。除了使用全局变量之外还有其他选择吗?请帮忙。
我使用全局变量的原因是,我想设置一次json对象的值,并使用所有js文件中的值。
答案 0 :(得分:3)
糟糕,我的第一个回答错过了你问题的最后一行,并认为你在谈论会话全局。这是一个编辑:
您真正想要做的是在 模块 中公开变量,并从您的 需要 其他文件。有关详细信息和语法,请参阅https://nodejs.org/api/modules.html。