【发布时间】:2019-05-22 14:59:04
【问题描述】:
我正在尝试使用一些 db 调用进行循环,一旦它们全部完成,就会发送结果。 - 使用一个承诺,但如果我在回调之后有我的承诺,它就不起作用。
let notuser = [];
let promise = new Promise((resolve, reject) => {
users.forEach((x) => {
User.find({
/* query here */
}, function(err, results) {
if(err) throw err
if(results.length) {
notuser.push(x);
/* resolve(notuser) works here - but were not done yet*/
}
})
});
resolve(notuser); /*not giving me the array */
}).then((notuser) => {
return res.json(notuser)
})
我该如何处理?
【问题讨论】:
-
映射查询承诺数组并使用
Promise.all()
标签: javascript node.js mongoose promise