我正在构建一个 Angular2 应用程序,所以我已经习惯了 Observables 和 Reactive Extensions 作为一个整体。我正在使用 TypeScript 和 rxjs。
现在我有一个可观察的,或者如果你愿意的话,我有一个流,它包含一些对象的数组。比方说人对象。现在我有另外两个 Person-objects 流,并且想将它们组合起来,所以我得到一个始终是最新的流:
var people$ = getPeople(); // Observable<Person[]>
var personAdded$ = eventHub.personAdded; // Observable<Person>;
var personRemoved$ = eventHub.personRemoved // Observable<Person>;
var allwaysUpToDatePeople$ = people$.doSomeMagic(personAdded$, personRemoved$, ...);
如果 people-stream 发出一个数组,比方说 5 个人,然后 personAdded-stream 发出一个人,allPeople-stream 将发出一个 6 数组。如果 personRemoved-stream 发出一个人,allPeople-流应该发出一个 Person-objects 数组,而不是刚刚由 personRemoved-stream 发出的那个。
rxjs 中是否有内置方法来获得这种行为?