从 Firestore 异步获取数据

我正在尝试从我的 Firestore 数据库获取数据,但我无法正确执行此操作。


我的问题是 console.log(allData.length) 总是打印 0,因为我猜它超过了代码的异步部分,但我无法弄清楚以某种方式使“userDataSnapshot.docs.map”也异步。关于如何正确执行此操作有什么建议吗?


      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);


互换的青春
浏览 101回答 1
1回答

萧十郎

我相信这会有所帮助:  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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript