在 app.js 文件中:
const tempStore = require("./tempStore.js");
setInterval(() => {
tempStore.setTemp(1);
console.log(tempStore.temp); // I expect this will log 1 then 2 then 3 so on...
}, 1000);
在 tempStore.js 文件中:
let temp = 0;
const setTemp = num => {
temp += num;
}
module.exports = {
temp: temp,
setTemp: setTemp
}
我希望这一行console.log(tempStore.temp);会给我一个递增的数字序列:
1
2
3
4
...
...
但它给了我这个:
0
0
0
0
..
..
换句话说总是0。
我可以通过修改此代码找到另一种方法来获得我所期望的:
在 app.js 文件中:
const number = tempStore.setTemp(1); // store returned value in a constant
console.log(number); // show it
在 tempStore.js 文件中:
temp += num;
return temp; // return the result
但是我更喜欢直接从 中获取号码temp,为什么不能这样做?
据我所知,我可以在 .js 文件之间的前端开发中编码时执行此操作。但是为什么我不能在 NodeJS 中做到这一点,怎么了?
慕村9548890
相关分类