RxJS 5:在保留最新值的同时跳过套接字提要
我一直在努力想出一个针对特定情况的处方策略。我希望有人能给我指出正确的方向 基本上,我有一个基于布尔值的套接字提要,我想跳过它。当流跳过套接字时,我需要保留一个从套接字发送的最新值的运行缓冲区 一旦我不再跳过套接字事件,则向下推流跳过时发出的最后一个值,但仅在另一种情况下(bool),然后重新开始侦听套接字事件 所以基本上:RxJS 5:在保留最新值的同时跳过套接字提要,rxjs,rxjs5,Rxjs,Rxjs5,我一直在努力想出一个针对特定情况的处方策略。我希望有人能给我指出正确的方向 基本上,我有一个基于布尔值的套接字提要,我想跳过它。当流跳过套接字时,我需要保留一个从套接字发送的最新值的运行缓冲区 一旦我不再跳过套接字事件,则向下推流跳过时发出的最后一个值,但仅在另一种情况下(bool),然后重新开始侦听套接字事件 所以基本上: 收听套接字提要 takeWhile(bool) 再次开始侦听时,在跳过时应用最后一个值 套接字,如果重新应用==true 没走多远,但这就是我所拥有的: Rx.Obse
- 收听套接字提要
takeWhile(bool)
- 再次开始侦听时,在跳过时应用最后一个值
套接字,如果
重新应用==true
Rx.Observable.interval(1000)
.skipWhile(()=>isSkipping)
.bufferWhileSkipping??
.applySkippedValuesAfterSkipping(ifisReapply)??
.subscribe(val=>console.log(val));
也许
skipWhile
不是正确的方法,但却是唯一有意义的方法…你可以像下面这样做(我假设你的isSkipping
可以被观察到):
每次isSkipping
发出一个值时,窗口
操作符创建一个新的可观察对象,它只是重新发出所有内容或链接。当skipping设置为true时,takeLast(1)
操作符
上面的示例将以下输出打印到控制台:
0
1
2
3
last:9
10
11
12
13
last:16
17
18
19
0
1
2
3
last:9
10
11
12
13
last:16
17
18
19