我想检索作为特定用户的朋友的所有用户的信息。要返回单个 json 数组,我首先将数据推送到一个数组,然后返回数据,但由于 firestore 查询的异步行为,看起来数据返回空。 任何人都可以帮助如何在将所有值推送到数据后返回数据。
export async function getUserFriendsDetails(userId) {
var data = {
results: []
}
getUser(userId).then((snapshot) => {
snapshot.data().friends.forEach(friend => {
getUserDetails(friend).then((result) => {
data.results.push(result.data()) // data is getting pushed here
})
})
})
return data; // data is empty array here
}
答案 0 :(得分:1)
我们可以使用回调在填充整个数据后返回。
export async function getUserFriendsDetails(userId) {
var data = {
results: []
}
getUser(userId).then((snapshot) => {
snapshot.data().friends.forEach(friend => {
getUserDetails(friend).then((result) => {
data.results.push(result.data()) // data is getting pushed here
})
},function(data){
alert(data);// Entire data
})
})
return data; // data is empty array here
}