从Firebase获取用户个人资料信息时遇到问题。
实际上,我创建了一个将从Firebase获取用户信息的函数。相同的代码如下所示-
function showProfileInformation(){
var user = firebase.auth().currentUser;
if (user != null) {
user.providerData.forEach(function (profile) {
var storeTheEmail= profile.email;
console.log(storeTheEmail);
});
}
}
当我从HTML的 body标签 as-
调用此函数时<body onload="showProfileInformation()">
然后,该函数被调用,但未检索用户信息
但是当我通过按钮调用此函数时,就像-
<button onclick="showProfileInformation()">Click Me</button>
然后它可以正常工作。
可能是什么问题?
答案 0 :(得分:1)
您可以通过延迟执行功能来解决它-
<body id="bodyTag" onload="changeTheStatusWithDelay()">
<script>
// IT IS THE FUNCTION WHICH WILL BE CALLED FROM BODY TAG
function changeTheStatusWithDelay(){
// IT WILL DELAY YOUR EXECUTION OF THE FUNCTION
setTimeout(changeItNow, 2000);
}
//NOW YOU CAN PASTE ALL OF YOUR CODE HERE
function changeItNow(){
var database = firebase.database();
var user = firebase.auth().currentUser;
if (user != null) {
user.providerData.forEach(function (profile) {
var storeTheEmail= profile.email;
console.log(storeTheEmail);
});
}
}
</script>