我有2个Observable,a
和b
。我想把它们组合起来:
a: ---x---------x-------x------|
b: ------x-x-x----x-x-x---x-x--|
o: ------x--------x-------x----|
也就是说,我希望结果Observable在发出b
后直接发出a
的第一个发射。
我正在使用reactivex / rxjs,但只是概念提示绰绰有余。提前谢谢!
答案 0 :(得分:1)
我们可以flatMap
覆盖a$
Observable并返回一个新的Observable,它会发出我们从b$
获得的第一个项目。
CAVEAT:b$
需要成为热门的Observable。如果这个术语不熟悉,请阅读热/冷的Observables:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/creating.md#cold-vs-hot-observables
const firstBAfterA$ = a$.flatMap(x => {
return b$.first();
});