嗨,我需要一个shareReplay()
的变体来缓存事件,直到我触发一个信号,要求它丢弃缓冲的事件。
是否有一个运算符或多个运算符组合可以让我轻松地做到这一点?还是应该构建自己的自定义运算符?
答案 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))