【发布时间】:2021-08-16 19:32:05
【问题描述】:
您好,我有一个用户集合的文档 ID 数组。我想从文档 id 的数组中检索给定 id 的用户集合的每个文档的对象中的所有用户数据的一些参数的用户数据数组。
但是在我当前的代码中,返回值是在解决承诺之前返回的,因此它是一个空数组。
有人可以详细解释一下如何实现这个异步调用,这是什么问题。
This is my code
export const getChatInfo = async chatIdsArray => {
const userData = new Array();
await chatIdsArray.forEach(async chatId => {
const documentSnapshot = await firestore()
.collection('users')
.doc(chatId)
.get();
if (documentSnapshot.exists) {
const {fname, lname, userImg} = documentSnapshot.data();
userData.push({
fname: fname,
lname: lname,
userImg: userImg,
});
}
console.log(`userdata in getchatinfo inner : ${JSON.stringify(userData)}`); // this returns correct array
});
console.log(`userdata in getchatinfo outer : ${JSON.stringify(userData)}`); // this return an empty array
return {userData};
};
【问题讨论】:
标签: javascript google-cloud-firestore async-await