Javascript 使用firebase等待加载身份验证的问题

Javascript 使用firebase等待加载身份验证的问题,javascript,jquery,firebase,Javascript,Jquery,Firebase,我遇到的问题是,当页面加载时,需要一秒钟来检查用户是否登录。我使用auth函数创建currentUser变量,该变量已成功用于由单击事件触发的其他函数中。但是当页面加载时,如果要加载特定于该用户的内容,它会说变量没有定义(因为它需要auth才能完成) 如何在身份验证完成之前获取当前用户,或使加载的函数等待身份验证完成?您可以使用setInterval,以下代码将每隔半秒检查currentUser,并运行fireBusinessLogicHereFunction()当currentUser可用时:

我遇到的问题是,当页面加载时,需要一秒钟来检查用户是否登录。我使用auth函数创建currentUser变量,该变量已成功用于由单击事件触发的其他函数中。但是当页面加载时,如果要加载特定于该用户的内容,它会说变量没有定义(因为它需要auth才能完成)


如何在身份验证完成之前获取当前用户,或使加载的函数等待身份验证完成?

您可以使用
setInterval
,以下代码将每隔半秒检查
currentUser
,并运行
fireBusinessLogicHereFunction()
currentUser
可用时:

var checkAuthInterval = setInterval(function(){
  if ( typeof currentUser !== undefined ) {
      clearInterval(checkAuthInterval);
      fireBusinessLogicHereFunction();
  }
}, 500);

稍后可以使用Firebase上周五(2014年10月3日)发布的新客户端库,其中包括身份验证数据的同步存取器,这听起来正是您所需要的:

var ref = new Firebase('https://<your-firebase>.firebaseio.com');
var authData = ref.getAuth();
var ref=new Firebase('https://.firebaseio.com');
var authData=ref.getAuth();
请尝试将您的客户端库升级到v1.1.0或更高版本的web版本,并查看最新文档,网址为