Избавляемся от внешнего вложенного наблюдаемого Typescript - PullRequest
0 голосов
/ 15 февраля 2019

Я сейчас пытаюсь избавиться от Внешней Наблюдаемой.Мой текущий код создает Observable<Observable<any>[]>, но я пытаюсь получить тип Observable<any>[].Я играл с разными операторами rxjs, но не смог найти ни одного, который бы работал.Я считаю, что часть моей проблемы связана с внешней картой, но я не уверен, как это изменить, не потеряв свой внутренний массив.

Итак, у меня есть этот код

this.userOrgs = this.db.doc(user_preferences/${user.uid}).valueChanges().pipe(
  map((pref: UserPreferences) => {
    return pref.orgs.map(org => {
      return this.db.doc(organizations/${org}).valueChanges().pipe(
        map((o: Organization) => { return o; })
      );
    });
  })
);

и this.userOrgsимеет тип Observable<Organization>[];

1 Ответ

0 голосов
/ 15 февраля 2019

Я не совсем уверен, какую библиотеку вы используете, но результат должен выглядеть примерно так

public async getOrganizations(user: any): Observable<Organization>[] {
    const pref: UserPreferences = await this.db.doc(user_preferences/${user.uid}).valueChanges().toPromise();

    return pref.orgs.map(org => {
      return this.db.doc(organizations/${org}).valueChanges().pipe(map((o: Organization) => {
        return o;
      }));
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...