Signature
export declare function delayWhen<T>( |
Parameters
第一个function 返回 一个流,这个流控制什么时候 delay结束
第二个参数流是控制整个delayWhen的流什么时候开始subscribe
Example
var clicks = Rx.Observable.fromEvent(document, 'click'); |
解释
这个例子很有意义
首先要双击,让 delayedClicks 流开启.
然后你clicks里的流才会流进delayedClicks.
这时你 按键盘来接触delay. 在keydown之前 和 双击之后这段时间内的 click 就会发出
然后你在几次 click, 他依然是delay, 知道你keydown出来解除delay
场景
subscriptionDelay 这个是大开关,这个不触发,你整个流根本不会开始订阅
delayDurationSelector 这个是小开关,大开关打开后, 每次小开关开启,之前关在流里的数据就会出来,流完又会关闭小开关.
直到下次小开关开启
一个是流启动,开始存数据
一个是流释放,放出之前一段时间存的数据