Миграция на RxJs 6 и Angular 6, помогите мне понять изменения RxJs - PullRequest
0 голосов
/ 03 июня 2018

Перед обновлением я использовал эту функцию для получения пользовательских данных из службы firestore при изменении состояния входа пользователя:

constructor(private firebaseAuth: AngularFireAuth,
              private db: AngularFirestore,
              private router: Router,
              private firestoreService: FirestoreService) {
    this.user = firebaseAuth.authState;
    this.auth = this.firebaseAuth;

    this.user.map(user => {
      console.log('user subscribing', user);

      if (isNullOrUndefined(user))
        return Observable.empty();

      this.userUID = user.uid;
      this.userEmail = user.email;

      return this.firestoreService.GetCollection('employees', true, ref => ref.where('uid', '==', user.uid)); // return Observable<any[]> 
    }).mergeAll().subscribe(
           ..working with user data
        }
      }
    );
  }

Теперь я пытаюсь переделать его в RxJS 6, но он не работает:

firebaseAuth.authState.pipe(
      switchMap(user => {

      if (isNullOrUndefined(user)) {
        return EMPTY;
      }

      this.userUID = user.uid;
      this.userEmail = user.email;

      return this.firestoreService.GetCollection('/employees', false, ref => ref.where('uid', '==', this.userUID));
    }),
      mergeAll()
    )
      .subscribe(
           ..working with user data
        }
      }
    );

Что не так?

...