【发布时间】:2016-05-26 08:38:55
【问题描述】:
对如何最好地写这个有点困惑 - 希望这个描述清楚。
我有一个 forEach 函数,我在其中遍历一些 JS 对象数据,并为每个项目执行一个函数:
found.forEach(function(item) {
processData(item['userID']);
});
在这个 processData 函数中,我正在使用 MongoDB find() 调用。
var processData = function(userIDSelected) {
User.find( {_id: userIDSelected},
{gender: 1, country:1}, function(req, foundUser) {
processUserInfo(foundUser[0]['gender']);
});
}
我遇到的问题是,考虑到每个调用将依次运行processUserInfo,我如何等待 forEach 中的所有内容完成。
我已经研究过使用 Q 库和 Q.all,但是这不起作用。
是否有 Q 函数等待长链中的所有内容完成?
谢谢
【问题讨论】:
-
你能不能创建另一个函数来接收
ObjectId列表来一次检索所有用户?
标签: javascript mongodb promise q