使用Firebase身份验证的firebase.auth().getRedirectResult()
方法时,是否可以检测到我们是否应该期待结果(或者用户是否来自重定向登录)?
运行此方法以及成功/错误回调发生的时间有所延迟。我想尽快显示一些加载状态,并且在文档中看不到任何方法,例如isRedirectResult
。
例如,我想要这样的东西(伪代码)
button.onclick = () => {
firebase.auth().signInWithRedirect(provider);
}
if (isFromRedirectPage) { // how do i do this??
button.loading = true;
await firebase.auth().getRedirectResult();
button.loading = false;
} else {
button.show();
}
答案 0 :(得分:1)
在调用该方法时可能会感到困惑,但我毕竟可以使用firebase.auth().onAuthStateChanged((user) => {...})
来解决这个问题。
即使用户未登录,此方法也会调用回调函数,所以我用它来确定加载状态:
loading = true;
firebase.auth().onAuthStateChanged((user) => {
loading = false;
if (!user) {
// show login button
} else {
// hide login button
}
});