无法在HTMLDocument(Firebase)上读取null的属性“电子邮件”

时间:2019-08-08 18:08:26

标签: javascript firebase google-cloud-firestore

我尝试运行此firebase函数,但每次都返回null

function gen_tell_name() {
      $(document).ready(function() {
        var db = firebase.firestore();
        var email = firebase.auth().currentUser.email;
        var docRef = db.collection("users").doc(email);
        docRef.get().then(function(doc) {
                $("#teller-name").append(doc.data().Name);
         });
      });
    };

我想在完成所有Firebase功能之后我需要某种方式来运行它,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

看看Firebase docs

  

您还可以使用currentUser获取当前登录的用户   属性。如果未登录用户,则currentUser为空

在您的情况下,currentUsernull,因此您无法访问电子邮件地址(在null上)

var user = firebase.auth().currentUser;
if (user) {
  // User is signed in.
  // Continue here
} else {
  // No user is signed in.
}

推荐的获取当前用户的方法:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
    // you can safely access the users properties 
  } else {
    // No user is signed in.
  }
});