我在循环中有一个发现:
for(var idx in items){
var item = items[idx];
Model.find({'_id': item.id}, function(err, matches){
console.log(item); // Points to the last item in items instead of
// expected item, since find is asynchronous
});
}
如您所见,由于 find 是异步的,我无法获得对item
var 的可靠引用。
我可以继续items
通过回调中的匹配对象在数组中再次手动查找它,但这似乎不是一种有效的方法。
如果有任何方法可以将对象“附加”到调用中,那么我可以通过回调将其取回,那将是很棒的。
有任何想法吗 ?