Javascript 使用firebase登录后重复刷新页面

Javascript 使用firebase登录后重复刷新页面,javascript,html,firebase,firebase-authentication,Javascript,Html,Firebase,Firebase Authentication,登录后,用户重定向到的页面会重复刷新。 以下是javascript代码: firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. window.location="comingsoon.html"; var user = firebase.auth().currentUser; } else { // No user is signe

登录后,用户重定向到的页面会重复刷新。 以下是javascript代码:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.

    window.location="comingsoon.html";
    var user = firebase.auth().currentUser;



  } else {
    // No user is signed in.


  }
});

function login(){

  var userEmail = document.getElementById("email_field").value;
  var userPass = document.getElementById("password_field").value;

  firebase.auth().signInWithEmailAndPassword(userEmail, userPass).catch(function(error) {
    // Handle Errors here.
    var errorCode = error.code;
    var errorMessage = error.message;

    window.alert("Error : " + errorMessage);

    // ...
  });

}

function logout(){
  firebase.auth().signOut();

}

执行代码后,您必须取消订阅AuthStateChanged上的事件侦听功能
onAuthStateChanged
。为此,您可以编写:

const unsubscribeAfterAuth = firebase.auth().onAuthStateChanged(function (user) {
    if (user) {


    window.location="comingsoon.html";
    var user = firebase.auth().currentUser;


  } else {
    // No user is signed in.


  }
});
unsubscribeAfterAuth();

这样,在第一次调用后,您的函数将不会侦听事件,因此在第一次调用后,您将不会获得更新。

使用此方法,我无法登录您是否可以尝试将
unsubscribeAfterAuth()放入
在firebase.auth()的成功回调中。是否使用Email和Password(userEmail,userPass)登录??