Javascript 获取用户是否在Firebase initializeApp上经过身份验证
当我这样做时:Javascript 获取用户是否在Firebase initializeApp上经过身份验证,javascript,firebase,firebase-authentication,Javascript,Firebase,Firebase Authentication,当我这样做时: firebase.initializeApp(config); firebase.auth().currentUser; 刷新几毫秒后的第一次currentUser为null。 但后来currentUser值被填充。当然,之前我没有注销就通过了身份验证 如何初始化EAPP并等待直到我真正知道用户是否登录?我的意思是firebase.initializeApp和firebase.auth()不是承诺。 是否承诺知道用户是否已登录?我找不到。我现在经常使用onAuthStateCh
firebase.initializeApp(config);
firebase.auth().currentUser;
刷新几毫秒后的第一次currentUser为null。
但后来currentUser值被填充。当然,之前我没有注销就通过了身份验证
如何初始化EAPP并等待直到我真正知道用户是否登录?我的意思是firebase.initializeApp
和firebase.auth()
不是承诺。
是否承诺知道用户是否已登录?我找不到。我现在经常使用
onAuthStateChanged()
处理程序来检测用户是否已登录
firebase.initializeApp(config);
firebase.auth().onAuthStateChanged((user) => {
if (user == null) {
// TODO: start sign-in flow
}
else {
// TODO: start actual work
}
}
});
但即使用户从未登录,也会调用onAuthStateChanged?是的。使用初始/当前已知状态立即调用,然后在状态更改时调用。试试看!就是这样做的
.onAuthStateChanged
“通过使用观察者,您可以确保在获取当前用户时,Auth对象不会处于中间状态,例如初始化状态。”。顺便说一句,我有一个朋友。演示。