为了账号安全,请及时绑定邮箱和手机立即绑定

从 Firestore 异步获取数据

从 Firestore 异步获取数据

互换的青春 2023-09-07 17:01:34
我正在尝试从我的 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);
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超12个赞

我相信这会有所帮助:


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


查看完整回答
反对 回复 2023-09-07
  • 1 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信