【发布时间】:2018-08-27 01:51:07
【问题描述】:
我试图找到一种方法来让这个场景发挥作用:
- 我有一个可观察的
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 个 observable,每个都发出我的 TalkWithPerson 对象。 (Observable<Observable<TalkWithPerson>>)
如果可能的话,我想拥有一个Observable<TalkWithPerson[]>。
我正在考虑让所有人和所有谈话都走得很艰难,并使用带有项目功能的combineLatest 来匹配记录,但我不想加载所有人,它会导致加载巨大的清单...
感谢您的帮助!
【问题讨论】: