在第一个可观察对象发出后,在第二个可观察对象的第一次发出时发出
Emit on first emit of second observable after first observable emits
我有 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,但仅提供概念性提示就足够了。提前致谢!
我们可以 flatMap
覆盖 a$
Observable 和 return 一个新的 Observable,它发出我们从 b$
获得的第一个项目。
注意:b$
需要是一个热 Observable。如果这个术语不熟悉,请阅读 hot/cold 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();
});
我有 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,但仅提供概念性提示就足够了。提前致谢!
我们可以 flatMap
覆盖 a$
Observable 和 return 一个新的 Observable,它发出我们从 b$
获得的第一个项目。
注意:b$
需要是一个热 Observable。如果这个术语不熟悉,请阅读 hot/cold 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();
});