【发布时间】:2020-11-14 14:17:22
【问题描述】:
我正在尝试在 foreach 循环中从 API 请求数据并将该数据推送到一个数组,然后在最后返回该数组。这是我的代码:
db
.collection('posts')
.orderBy('createdAt', 'desc')
.limit(10)
.get()
.then((data) => {
let posts = [];
data.forEach((doc) => {
db
.doc(`/users/${doc.data().userHandle}`)
.get()
.then((userDoc) => {
posts.push({
postId: doc.data().id,
userHandle: doc.data().userHandle,
userImageUrl: userDoc.data().imageUrl,
imageUrl: doc.data().imageUrl,
});
})
})
return res.json(posts);
})
.catch((err) => {
console.error(err);
res.status(500).json({ error: err.code});
});
因此,posts 数组返回 en 空数组或对象,即使我将 return res.json(posts) 替换为
.then(() => {
return res.json(posts);
})
任何帮助都很棒!!!
【问题讨论】:
标签: javascript asynchronous foreach google-cloud-firestore promise