MergeMap возвращает ноль - PullRequest
       15

MergeMap возвращает ноль

0 голосов
/ 23 января 2019

Я работаю над приложением Angular6 и извлекаю данные из базы данных Firebase в реальном времени.

Чтобы получить профиль пользователя, я использую UID пользователя (который я получаю из Observable) в качестве параметра для службы angular, которая возвращает AngularFireObject <{}>

Проблема в том, что я попытался объединитьMap, SwitchMap, но я не получаю информацию профиля. (без подписки внутри подписки)

Я использую AngularFire2 для извлечения данных из базы данных RealTime RXJS 6 Угловой 7.1.2

  1. this.userService.user = angularFireAuth.authState
  2. Использование «map» в userProfile $ Returns: Observable
  3. Использование «mergeMap» в userProfile $ возвращает: null
  4. Использование «switchMap» в userProfile $ возвращает: null
  5. «valueChanges ()» возвращает: наблюдаемый <{}>
this.user = this.userService.user.pipe(
      shareReplay(1),
      tap(data => {
        console.log({
          user: data
        })
      })
    )
    this.userProfile$ = this.user.pipe(
      map((data: firebase.User) => this.userService.getUserProfileById(data.uid).valueChanges()),
      tap(data => {
        console.log({
          userProfile: data
        })
      })
    ).subscribe()

Я ожидаю получить объект с данными из базы данных реального времени (что является результатом подписки на "valueChanges ()").

...