Почему мой снимок возвращает ноль, даже если в базе данных Firebase есть значения - PullRequest
1 голос
/ 04 октября 2019

У меня проблема с кодом относительно snapshot, где я пытаюсь получить значение quantity в моей базе данных Firebase. Я захватил свою базу данных.

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

1 Ответ

3 голосов
/ 04 октября 2019

Попробуйте выполнить следующее:

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, возвращавшее ноль, поэтому вы получили эту ошибку. Извлечение аутентификационных данных в firebase является асинхронным, поэтому, если вы хотите использовать uid для извлечения данных из базы данных, вам нужно добавить их в onAuthStateChanged

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...