Javascript 反应式运算符,与bufferWhen类似,但仅适用于最新变量

Javascript 反应式运算符,与bufferWhen类似,但仅适用于最新变量,javascript,redux,react-redux,rxjs,reactive,Javascript,Redux,React Redux,Rxjs,Reactive,我在反应式网站上搜索了各种运营商。我无法弄清楚如何设置rx操作符链,以便它存储最近的可观察对象,直到另一个可观察对象允许它被释放 例如: Source0: 0 . . 1 . . . 2 . 3 Source1: F F F F T F F F T T Result: . . . . 1 . . . 2 3 和代码一样 const result = (action$, store) => action$.ofType('SOME_TYPE').mostRecent(_ =>

我在反应式网站上搜索了各种运营商。我无法弄清楚如何设置rx操作符链,以便它存储最近的可观察对象,直到另一个可观察对象允许它被释放

例如:

Source0: 0 . . 1 . . . 2 . 3
Source1: F F F F T F F F T T
Result:  . . . . 1 . . . 2 3
和代码一样

const result = (action$, store) =>
   action$.ofType('SOME_TYPE').mostRecent(_ => store.getState().REDUCER.saving);

首先使用
组合测试
,然后使用
过滤器
,最后可以使用
映射
获取所需数据:

source0.combineLatest(source1).filter(([s0, s1])=>s1).map(([s0,s1])=>s0);

这太近了。我意识到的唯一问题是Source1不是可观察的。这是redux商店的一个值。我更喜欢它在到达source1点时调用redux的store.getState。如何合并?如果source1不是可观察的,它可能会转换为可观察的,例如:Observable.of(source1)或new Subject().next(source1)