Я пытаюсь найти способ заставить этот сценарий работать:
- У меня есть наблюдаемое
talks$
, которое выдает список всех разговоров. - У разговора есть свойство
personId
- Это свойство может быть сопоставлено с человеком с помощью Observable.
- Я пытаюсь сопоставить его с классом
TalkWithPerson
const test = this.talks$.pipe(
exhaustMap(talks =>
talks.map(t => this.getPersonById(t.personId).pipe(map(p => newTalkWithPerson(t, p))))
),
);
В настоящее время это излучает 2 наблюдаемых, каждый из которых излучает мой TalkWithPerson
объект.(Observable<Observable<TalkWithPerson>>
)
Я хотел бы получить Observable<TalkWithPerson[]>
, если это возможно.
Я думал о том, чтобы идти трудным путем, чтобы собрать всех людей и все разговоры и использовать combineLatest
с функцией проекта для сопоставления записей, но я не хочу загружать всех людей, это приведет к загрузке огромного списка ...
Спасибо за вашу помощь!
StackBlitz: https://stackblitz.com/edit/talks-person