正确解决承诺"/>
如何在nodejs中正确解决承诺
const findusers=(commentarr)=>{
return new Promise((resolve,reject)=>{
let final_comment_arr=[];
commentarr.forEach(element=>{
comment.findOne({_id:element}).then(result_comment=>{
final_comment_arr.push(result_comment);
});
})
resolve(final_comment_arr);
reject(new Error('failed to find users'));
})
}
当我解析数组时,它返回一个空数组如何解决此问题
回答如下:[我看到您使用mongodb,有一个$in
来查找该数组中的所有ID,而不是循环遍历。
const findusers=(commentarr)=>{
return new Promise(async(resolve,reject)=>{
let result = await comment.find({ _id: { $in: commentarr }})
if(result.length < 1){
reject(new Error('failed to find users'));
}else {
resolve(result);
}
})
}
我不确定result
是否返回数组还是仅返回null
。也许您可以通过控制台登录并签出]
更多推荐
如何在nodejs中正确解决承诺
发布评论