这个问题很奇怪,我无法在jsFiddle中重现它,一切都是同步的,所以不应该有任何竞争条件。
我导出的这个对象使其可以跨多个模块使用。
params.js:
exports.obj = {
"1m": {
positions: []
},
"2m": {
positions: []
},
"3m": {
positions: []
},
"4m": {
positions: []
},
};
module1.js:
const params = require('params').obj;
params["1m"].positions.push('foo');
这导致所有" 1m"," 2m"," 3m"," 4m"具有“foo”的对象把位置推到了他们身上。
知道是什么原因引起的吗?这非常令人沮丧。