Angular Firebase持久性加载速度
firebase用户持久性何时加载?我有一些API需要使用Firebase持久化中存储的数据来实现。这些API在页面的构造函数中运行。因此,在命中这些API之前,firebase.currentuser似乎是空的。这导致我的后端代码出现问题 有没有办法强迫angular firebase更快地加载当前用户 这里有一个例子Angular Firebase持久性加载速度,angular,typescript,firebase,firebase-authentication,Angular,Typescript,Firebase,Firebase Authentication,firebase用户持久性何时加载?我有一些API需要使用Firebase持久化中存储的数据来实现。这些API在页面的构造函数中运行。因此,在命中这些API之前,firebase.currentuser似乎是空的。这导致我的后端代码出现问题 有没有办法强迫angular firebase更快地加载当前用户 这里有一个例子 constructor(public environmentService : EnvironmentService) { firebase.initializeApp(
constructor(public environmentService : EnvironmentService)
{
firebase.initializeApp(config, "Test");
this.getUser() //returns null here
}
getUser()
{
return firebase.app("Test").currentUser
}
laterAPIcall () //called about 1 second later after constructors finish
{
this.getUser() // returns the current user which is not null anymore
}
编辑:我需要一些方法来强制firebase在服务构造函数运行期间或之前加载当前用户。这可能吗?当加载页面后第一次知道当前用户时,您应该使用身份验证状态观测器来获取回调。这是尽快做出反应的最佳方式,这样您就可以使用用户信息呈现页面
this.afAuth.authState.subscribe(res => {
if (res && res.uid) {
console.log('user is logged in');
} else {
console.log('user not logged in');
}
});
另见: