如何从Firebase Auth中捕获状态更改?

时间:2017-02-22 17:56:30

标签: javascript angular firebase exception-handling angularfire2

我正在使用Angular 2和angularfire库。我无法捕捉用户状态的变化。

首先)登录工作正常。我看到用户来到我的订阅功能,所有都是花花公子。

但是,当我在Firebase控制台上禁用该用户时...用户状态已更改。为什么我的应用程序组件中没有看到状态的变化?

我想捕获不同类型的错误,并根据错误代码处理它们。为此,我在这里创建了一个服务:

@Injectable()
export class CZAuthService {

    constructor(private af: AngularFire){ }

    getAuthState() : Observable<FirebaseAuthState>{
        return this.af.auth.catch((error)=>{
            console.log(error);
            return this.af.auth;
        })
    }
}

我想在此catch运算符中捕获异常,然后返回流以维持与流的连接。

然后在我的根应用程序组件中,我订阅了此流并在用户登录时进行处理:

this.auth.getAuthState().subscribe((user)=>{
     console.log(user);
     if(user != null){
       this._store.dispatch(new UserLogInSuccessAction(user))
     }
 });

0 个答案:

没有答案