微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vanilla JS,尝试访问数组中的对象

如何解决Vanilla JS,尝试访问数组中的对象

我无法访问从 Firestore 快照保存的数组的内容

代码如下:

function getDataFromFirestore() {
  let myList = [];
  db.collection("test")
    .get()
    .then((snapshot) => {
      snapshot.forEach((doc) => {
        myList.push(doc.data());
      });
    });

  console.log(myList);
  console.log(myList[1]);
  console.log(myList.length);
}

getDataFromFirestore();

这里是 console.log() 的返回:

result of console.log()

问题: 为什么使用 forEach 将 3 个项目保存在数组中,并且长度为 = 0?

如何访问保存在数组中的对象?

非常感谢您的帮助。

解决方法

db.collection("test").get() 返回一个 promise,这意味着在最后的 console.logs 之后执行。

解决方案可能是将 console.logs 移到里面,或者使用 async await。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。