我有一个包含 ids 的数组,我需要在名为 Users 的集合中查找这些 ID(存在集合和模型)以获取有关具有该 id 的用户的信息。
var emails = _.map(toSendEmails,function(id){
var userEmail = User.findById(id, function(err, user) {
return user.email;
});
return userEmail;
});
变量 toSendEmails 是 ids 数组。
实际场景是map函数在User.findById返回任何值之前执行
我应该如何进行?
谢谢!
最佳答案
您可以从 _.map
函数返回一组 promise ,并等待所有这些 promise 得到解决以获取电子邮件列表。
var ePromises = _.map(toSendEmails,function(id){
return User.findById(id).then(function (user) {
return user.email;
});
});
Promise.all(ePromises).then( function (emails){
// do something with the emails
});
关于javascript - 如何在 lodash 的 map 函数中获取 Mongoose findById 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53859134/