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

标签 javascript arrays google-cloud-firestore foreach console.log

我无法访问从 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 wait。

关于javascript - Vanilla JS,尝试访问数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66501059/

相关文章:

Javascript 仅附加一种类型

javascript - 在 React.JS 中将映射函数嵌套在映射函数中

javascript - 从 Javascript 数组中删除相似的字符串

python - 在python中填充数组

android - 不知道 Firebase 过滤器的异常

android - 使用 FirestoreRecyclerAdapter 时如何获取 Firestore 文档 ID?

javascript - YQL 和 javascript(失败)

ios - 如何在 UItableView 中获取数组的索引号

swift - Firestore "updateData"删除文档中的所有字段

javascript - WebOS 在浏览器关闭时重置 LocalStorage?