【发布时间】:2020-08-31 15:42:07
【问题描述】:
我正在尝试使用此 map 函数与 Mongo 和 node/express JS 构建对象数组。出于某种原因,当我在 map 函数外部执行 console.log 时,数组返回空,但在 map 函数内部,它显示每次迭代都在构建数组。
为什么会出现这种情况?
let allReviews = []
user.reviews.map( async (rev, index) => {
const reviewer = await User.findOne({_id: rev.reviewerId},{password: 0})
allReviews.push({
avatar: reviewer.avatar,
firstName: reviewer.firstName,
lastName: reviewer.lastName,
rating: rev.score,
review: rev.review
})
// console.log(allReviews)
})
console.log(allReviews)
【问题讨论】:
-
这仅仅是因为数据库很慢,需要时间,但(外部)console.log 没有。这将帮助您找到答案map() function with async/await
标签: javascript node.js mongodb express