我正在尝试制定Auth服务。 我使用这个:如何从angular2服务中的服务构造函数中获取值
@Injectable()
export class AuthService {
authState: any = null;
constructor(private afAuth: AngularFireAuth,
private db: AngularFireDatabase,
private router:Router) {
this.afAuth.authState.subscribe((auth) => {
this.authState = auth;
});
}
// Returns true if user is logged in
get authenticated(): boolean {
return this.authState !== null;
}
的认证()函数不断给我假的,即使用户登录
当我在构造函数中CONSOLE.LOG的authState(this.authState)。 ,我得到一个值,但在构造函数外,this.authState为null。我究竟做错了什么?
您是如何使用该服务的?我的意思是你是否宣称它是应用程序级别或组件级别的提供者。你能分享访问认证功能的组件代码吗? –
订阅方法是异步的。如果您在订阅被解雇之前调用身份验证方法,您将会失败。 –
@BunyaminCoskuner,解决这个问题的方法是什么? –