首页 > 解决方案 > 无法在 HTMLDocument (Firebase) 中读取 null 的属性“电子邮件”

问题描述

我尝试运行这个 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 功能完成后我需要一些方法来运行它,但我不知道如何。

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


看看 firebase文档

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

在您的情况下,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.
  }
});

推荐阅读