Javascript订阅AngularFire2
我正在使用Javascript订阅AngularFire2,javascript,typescript,ionic2,firebase-authentication,angularfire2,Javascript,Typescript,Ionic2,Firebase Authentication,Angularfire2,我正在使用Ionic2/Angular2,需要使用参数authData调用函数,如下所示 public auth: FirebaseAuth this.auth.subscribe((authData: FirebaseAuthState) => { if (authData) { let promise: Promise<any> = this.utilityService.login(this.personModel, authData.
Ionic2/Angular2
,需要使用参数authData
调用函数,如下所示
public auth: FirebaseAuth
this.auth.subscribe((authData: FirebaseAuthState) => {
if (authData) {
let promise: Promise<any> = this.utilityService.login(this.personModel, authData.auth, this.nav, this.auth, this.fireAuth, false);
}
});
public auth:FirebaseAuth
this.auth.subscribe((authData:FirebaseAuthState)=>{
if(authData){
让promise:promise=this.utilityService.login(this.personModel,authData.auth,this.nav,this.auth,this.fireAuth,false);
}
});
我的问题是,因为我订阅了FirebaseAuth
,utilityService.login
函数会被多次调用
问题
如何构造此代码,以便只调用一次utilityService.login
函数
谢谢你我的解决方案
无需订阅
。用户可通过以下方式获得
let promise: Promise<any> = this.utilityService.login(this.personModel, this.auth.getAuth().auth, this.nav, this.auth, this.fireAuth, false);
let promise:promise=this.utilityService.login(this.personModel,this.auth.getAuth().auth,this.nav,this.auth,this.fireAuth,false);
解决方案
无需订阅
。用户可通过以下方式获得
let promise: Promise<any> = this.utilityService.login(this.personModel, this.auth.getAuth().auth, this.nav, this.auth, this.fireAuth, false);
let promise:promise=this.utilityService.login(this.personModel,this.auth.getAuth().auth,this.nav,this.auth,this.fireAuth,false);
问题是:auth.js:104警告:自从添加对Firebase 3的支持后,getAuth()API的行为发生了变化。当页面加载时,即使用户实际登录,初始值也将返回null。请通过订阅auth服务异步观察实际的auth状态:af.auth.subscribe()。getAuth方法将在将来的版本中删除
问题是:auth.js:104警告:自从添加对Firebase 3的支持以来,getAuth()API的行为已发生更改。当页面加载时,即使用户实际登录,初始值也将返回null。请通过订阅auth服务异步观察实际的auth状态:af.auth.subscribe()。getAuth方法将在将来的版本中删除