1
我是新来这个javascript的东西,我有一些关于猫鼬'发现'范围的怀疑。猫鼬findOne范围怀疑
我写了下面的代码来试图理解这个问题。
下面的代码搜索购物集合,然后搜索分配给此购物的商店。
storeMap是STOREID => storeObject的一个HashMap,但是当Store.findOne范围月底,storeMap似乎回滚到一个空数组...
var storeMap = {};
Shopping.findOne({ name: shoppingName }, function(err, shopping){
shopping.stores.forEach(function(storeId) {
Store.findOne({_id: storeId}, function(err, store) {
if(err) console.log(err);
console.log(store); //prints out store data
storeMap[storeId] = store;
console.log(storeMap); //prints out store data
});
console.log(storeMap); //prints out an empty array
});
});
那么,为什么我的storeMap阵列印刷空数组而不是存储数组?