我有两个可观测值,a
和b
。我想这样组合它们:
a: ---x---------x-------x------|
b: ------x-x-x----x-x-x---x-x--|
o: ------x--------x-------x----|
也就是说,我希望结果Observable在b
的第一次发射时发射,该第一次发射直接在a
的发射之后。
我使用的是reactivex/rxjs,但仅仅一个概念提示就足够了。提前谢谢!
我们可以在a$
Observable上flatMap
,并返回一个新的Observable,它发出我们从b$
获得的第一个项。
CAVEAT:b$
需要是一个热的Observable。如果不熟悉这个术语,请阅读热/冷观察:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/creating.md#cold-与热可观测值
const firstBAfterA$ = a$.flatMap(x => {
return b$.first();
});