[英]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.