【发布时间】:2017-09-06 19:00:33
【问题描述】:
我的目标是将记录保存在异步 foreach 循环中的 mongoDB 集合中。下面是不言自明的代码。
async.forEach(data, function(item, callback) {
var object = new Collection_Object();
// errorLog.push(sdb);
object.save(function(error) {
count++;
console.log(count);
if(error) {
console.log("inside error");
count--;
}
//callback();
});
callback();
}, function() {
//This is the block which should be called after foreach.
res.json(data);
});
现在发生的事情是流程跳过了save 部分并直接跳转到应该在forEach 之后调用的块。
如果我正在评论save 部分,则回调正常工作。
我没有看到我在哪里做错了。可能是collection.save() 不应该是这样的。
请指导。
【问题讨论】:
-
为什么注释掉 save() 中的 callback() 调用?这正是它应该被调用的地方。
-
我猜,我一直忘记取消注释下面的回调()函数。有效。愚蠢的我。
标签: javascript node.js mongodb foreach