我读了另一篇关于这个问题的帖子,但我无法弄清楚如何将它应用到我的情况(node js Array.push() not working using mongoose)
这是我的 Mongoose 异步填充函数,我想要做的是将一个值推送到最终数组,其中包括我稍后将对其进行处理的每条评论。但是 .push() 不起作用,我总是得到一个空数组;根据我的阅读,它与同步的 for 循环有关并且无法接受异步值,但我不确定如何修复它
//Empty array will be populated with all scores
const allReviewsRating = []
this.populate("reviews").then(async function (allReviews) {
for (const review of allReviews.reviews) {
allReviewsRating.push(review.rating)
}
// async.map(review, allReviews.reviews)
})
但即使我做这样的事情
const allReviewsRating = []
this.populate("reviews").then(async function (allReviews) {
allReviewsRating.push(`1`)
for (const review of allReviews.reviews) {
allReviewsRating.push(review.rating)
}
// async.map(review, allReviews.reviews)
})
最后的数组是空的,这让我更加困惑
我想知道我需要做什么才能使我的数组不为空,并且实际上具有我希望它具有的值