shareReplay +清除缓冲的事件

时间:2019-10-11 14:26:00

标签: rxjs

嗨,我需要一个shareReplay()的变体来缓存事件,直到我触发一个信号,要求它丢弃缓冲的事件。

是否有一个运算符或多个运算符组合可以让我轻松地做到这一点?还是应该构建自己的自定义运算符?

1 个答案:

答案 0 :(得分:1)

尝试以下代码,switchMap可以取消流订阅并重新订阅,这意味着shareReplay()将是新鲜的

const intercept = fromEvent(document, "click").pipe(startWith(true))
const cacheEvent=interval(2000).pipe(shareReplay(1))
const source = intercept.pipe(switchMapTo(cacheEvent))