Как подписаться на документ AngularFire - PullRequest
1 голос
/ 28 апреля 2020

У меня есть компонент, который запрашивает документ angularfire внутри службы. Приведенное ниже работает, потому что я скопировал и вставил его из другой функции, которую я использовал, для которой требовалась проверка activatedRoute. В этом случае мне не нужна активированная проверка маршрута.

Однако я не уверен в синтаксисе, который удаляет эту конкретную проверку, и у меня все тот же результат запроса базы данных, получения результата в ответ и подписаться на него.

Component.ts

  testQuery(id: string) {
    this._subscription = this._activatedRoute.params.pipe(
      switchMap(params => {
        return this.service.getInfo(id);
      })
    ).subscribe(details => {
      // Subscription stuff and form patchValue and behaviorSubject updates
    })
  }

Service.ts

getInfo(id: string): Observable<any[]> {
  return this.afs.doc<any>(`collection/${id}`).valueChanges().pipe(shareReplay());
}

1 Ответ

0 голосов
/ 28 апреля 2020

Просто удалите этот кусок кода и pipe(switchMap..., который больше не нужен.

testQuery(id: string) {
  this._subscription = this.service.getInfo(id).subscribe(details => {
    // Subscription stuff and form patchValue and behaviorSubject updates
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...