пытаясь подписаться на наблюдаемое с помощью ngIf, и это зацикливается - PullRequest
0 голосов
/ 19 декабря 2018

Вот HTML-значок, который должен отображаться, когда пользователь вошел в систему:

<mat-icon class="logout-icon logout-spacer" *ngIf="(isLoggedIn() | async)" (click)="logout()" >exit_to_app</mat-icon>

Компонент для этого значка выглядит следующим образом

  isLoggedIn(){
    return this.authService.isLoggedIn().pipe(
      take(1),
      map((authState) => !!authState),
      tap(user =>{
        if (user){
          console.log("user found");
        } else {
          console.log("user not found");
        }
      })
    );
  }

Также естьСлужба аутентификации с кодом, отображаемым ниже, который поддерживается библиотекой AngularFire

isLoggedIn(){
    return this.afAuth.authState.pipe(first());
  }

Когда я запускаю приложение в консоли разработчика, я вижу только то, что «пользователь не найден» неоднократно получает

Заранее спасибо!

...