Javascript 在第一个可观察发射后,在第二个可观察发射的第一个发射时发射

Javascript 在第一个可观察发射后,在第二个可观察发射的第一个发射时发射,javascript,rxjs,reactivex,Javascript,Rxjs,Reactivex,我有两个可观察对象,a和b。我想这样组合它们: a: ---x---------x-------x------| b: ------x-x-x----x-x-x---x-x--| o: ------x--------x-------x----| 也就是说,我希望在第一次发射b时可以观察到的结果,该发射直接在发射a之后 我使用的是reactivex/rxjs,但是仅仅一个概念性的提示就足够了。提前谢谢你 我们可以对a$可观察对象进行flatMap,并返回一个新的可观察对象,该对象发出我们从b$

我有两个可观察对象,
a
b
。我想这样组合它们:

a: ---x---------x-------x------|
b: ------x-x-x----x-x-x---x-x--|

o: ------x--------x-------x----|
也就是说,我希望在第一次发射
b
时可以观察到的结果,该发射直接在发射
a
之后


我使用的是reactivex/rxjs,但是仅仅一个概念性的提示就足够了。提前谢谢你

我们可以对
a$
可观察对象进行
flatMap
,并返回一个新的可观察对象,该对象发出我们从
b$
获得的第一个项目

注意:
b$
需要是一个热可观察对象。如果不熟悉该术语,请阅读热/冷观测值:


啊,这么简单。非常感谢。关于
flatMapFirst
?根据@BrandonHorst需要的行为,
flatMapFirst
也可能起作用。与
flatMapFirst
的区别在于,如果前一个尚未完成,则后续的
b$.first()
可观察对象将被删除。
const firstBAfterA$ = a$.flatMap(x => {
  return b$.first();
});