javascript - 为什么我的快照返回 null,即使 Firebase 数据库上有值

标签 javascript firebase firebase-realtime-database

我在尝试获取 Firebase 数据库中的quantity 值的snapshot 方面遇到了问题。我已经捕获了我的数据库。

console result

database

 firebase.database().ref("mycart/"+uid+"/"+imguid).once("value").then(function(snapshot) {
        console.log("uid="+uid); 
        console.log("imguid="+imguid); 
        console.log("snapshot.val()="+snapshot.val()); 
        if(snapshot.exists()){
           console.log("snapshot"+snapshot.key); 
        }
        console.log("snapshot doest exists"); 
    });

最佳答案

尝试以下操作:

firebase.auth().onAuthStateChanged(function(user) { 
 if (user) { 
 uid = user.uid;
 firebase.database().ref("mycart").child(uid).child(imguid).once("value").then(function(snapshot) { 
   if(snapshot.exists()){ 
       console.log("snapshot"+snapshot.key);
      } 
      console.log("snapshot doest exists"); 
    }); 
   }
  else{ } });

uid 返回 null,因此您收到了该错误。在 Firebase 中检索身份验证数据是异步的,因此如果您想使用 uid 从数据库中检索数据,则需要将其添加到 onAuthStateChanged

关于javascript - 为什么我的快照返回 null,即使 Firebase 数据库上有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58230098/

相关文章:

javascript - 将 JS IIFE 库导出到 React 组件

javascript - 从地址栏获取 URL

javascript - 在 Grunt (Yeoman) 中禁用缩小

android - Firebase+glide,缓存策略

javascript - 使用 functions.config().firebase 初始化时如何包含我的 firebase 服务帐户 key ?

javascript - 如何在 JavaScript 中将 JSON 键保留为字符串

java - 是否可以通过 Firebase 托管托管 Java Spring 应用程序?

javascript - 写入父项 > iFrame 的 > iFrame 内容

android - 如果有多个数据库,firebase.getInstance() 会得到什么

java - ArrayList 卡在打印一项上