[英]Get Data from Firestore async
I am trying to get data from my Firestore database but i cannot manage to do this properly.我正在尝试从我的 Firestore 数据库中获取数据,但我无法正确执行此操作。
My Problem is that console.log(allData.length) always prints 0 because i guess it overtakes the async part of the code but i cannot figure out to make "userDataSnapshot.docs.map" somehow async aswell.我的问题是 console.log(allData.length) 总是打印 0 因为我猜它超过了代码的异步部分,但我无法弄清楚以某种方式使“userDataSnapshot.docs.map”异步。 Any tips on how I can do this properly?
关于如何正确执行此操作的任何提示?
const allData = [];
const userDataSnapshot = await db.collection("userdata").get();
userDataSnapshot.docs.map(async (doc) => {
var userObject = [];
userObject.push(doc.id);
var snapshot = await doc.ref.collection("advanceddata").get();
snapshot.docs.map((doc) => {
userObject.push(doc.data());
});
allData.push(userObject);
});
console.log(allData.length);
I believe this will help:我相信这会有所帮助:
const allData = [];
const userDataSnapshot = await db.collection("userdata").get();
for(const doc of userDataSnapshot.docs) {
var userObject = [];
userObject.push(doc.id);
var snapshot = await doc.ref.collection("advanceddata").get();
snapshot.docs.map((doc) => {
userObject.push(doc.data());
});
allData.push(userObject);
}
console.log(allData.length);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.