gpt4 book ai didi

javascript - Firebase 与 Web : Using user Id in reference causes error: Uncaught TypeError: Cannot read property 'on' of undefined

转载 作者:行者123 更新时间:2023-12-01 01:26:53 25 4
gpt4 key购买 nike

我的火基引用有一个错误,由于某种原因,它说引用未定义,我无法弄清楚为什么,如果您能以任何方式提供帮助,那就太好了。

var eventtable = document.getElementById("eventtable");
var dateofevent = document.getElementById("dateofevent");
var datetext = dateofevent.textContent;
var user = firebase.auth().currentUser;
var firebaseRef;

firebase.auth().onAuthStateChanged(function(user) {
if (user) {
var email = user.email;
userId = user.uid;
document.getElementById("welcomeuser").innerHTML = "Welcome " + email;
firebaseRef = firebase.database().ref().child("Events").child(userId).child(datetext);

} else {
window.location.href="login.html";
}
});

firebaseRef.on("value", function(snapshot) {

var content = '';

snapshot.forEach(function(childSnapshot) {
var key = childSnapshot.key;
var val = childSnapshot.val();

content +='<tr>';
content += '<td>' + val.Name + '</td>';
content += '<td>' + val.Description + '</td>';
content += '</tr>';
});
eventtable.append(content);
}, function(error) {
console.error(error);
});

最佳答案

您尝试在 firebaseRef 具有值之前使用它。

onAuthStateChanged 是异步的,这意味着它会立即返回,并且在身份验证信息可用之前不会执行您传递的回调。这意味着 firebaseRef 在被调用之前没有值。您的代码继续假设 firebaseRef 有一个值。

如果您想使用 firebaseRef,则只能在分配后使用它。

关于javascript - Firebase 与 Web : Using user Id in reference causes error: Uncaught TypeError: Cannot read property 'on' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53695051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com