簡體   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