1 回答

TA貢獻1895條經(jīng)驗 獲得超3個贊
該數(shù)組為空,因為在發(fā)送響應(yīng)時,帶有帖子的承諾仍在等待解決。
為了解決這個問題,您可以使用 收集數(shù)組中的所有承諾.map(),等待它們在 的幫助下解決,Promise.all()然后發(fā)送響應(yīng):
db
.collection('posts')
.orderBy('createdAt', 'desc')
.limit(10)
.get()
.then((data) => {
const promises = data.map((doc) => {
return db
.doc(`/users/${doc.data().userHandle}`)
.get()
.then((userDoc) => {
return {
postId: doc.data().id,
userHandle: doc.data().userHandle,
userImageUrl: userDoc.data().imageUrl,
imageUrl: doc.data().imageUrl,
};
})
});
Promise.all(promises).then(posts => {
res.json(posts);
})
})
.catch((err) => {
console.error(err);
res.status(500).json({ error: err.code});
});
添加回答
舉報