Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取用户是否在Firebase initializeApp上经过身份验证_Javascript_Firebase_Firebase Authentication - Fatal编程技术网

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对象不会处于中间状态,例如初始化状态。”。顺便说一句,我有一个朋友。演示。