繁体   English   中英

如何在Firebase中更新用户资料?

[英]How to update user profile in Firebase?

我尝试更新用户个人资料,并阅读了本文档 但是,为什么我不能更改我的displayName ?它总是给我null

它还给我TypeError: userNow is null

我应该遵循哪一个来更新/编辑用户个人资料?

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Update User Profile</title> <script src="https://www.gstatic.com/firebasejs/4.11.0/firebase.js"></script> <script src="core.js"> </script> </head> <body> <script> var authRef = firebase.auth(); authRef.onAuthStateChanged(function(user) { if (user) { console.log('Display name onAuthStateChanged : '+user.displayName); } else { console.log('not login'); } }); var userNow = firebase.auth().currentUser; userNow.updateProfile({ displayName: "Jane Q. User", photoURL: "https://example.com/jane-q-user/profile.jpg" }).then(function() { var displayName = userNow.displayName; var photoURL = userNow.photoURL; }, function(error) { }); </script> <script src="js/jquery-3.3.1.min.js"></script> </body> </html> 

var userNow = firebase.auth().currentUser;开始包装代码var userNow = firebase.auth().currentUser; 在功能上。 就像@Andre Kool所说的那样,您需要确保先进入(因为这是异步操作,然后尝试将用户数据更新为:

    var authRef = firebase.auth();
    authRef.onAuthStateChanged(function(user) {
        if (user) {
            console.log('Display name onAuthStateChanged : '+user.displayName);
            _updateUserData();
        } else {
            console.log('not login');
        }
    });

    fucntion _updateUserData(){
      var userNow = firebase.auth().currentUser;
        userNow.updateProfile({
        displayName: "Jane Q. User",
        photoURL: "https://example.com/jane-q-user/profile.jpg"
      }).then(function() {
        var displayName = userNow.displayName;
        var photoURL = userNow.photoURL;
      }, function(error) {

      });
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM