gpt4 book ai didi

rxjs - RXJS:总计反跳

转载 作者:行者123 更新时间:2023-12-03 13:31:15 25 4
gpt4 key购买 nike

我的用例如下:我得到事件,有时会突然发生。如果发生突发,我只需要处理一次即可。去抖动会执行此操作。

但是,去抖动仅给我提供连拍的最后一个元素,但我需要了解连拍中的所有元素才能汇总(使用平面图)。

这可以通过定时窗口或缓冲区来完成,但是,这些间隔是固定的,因此缓冲区/窗口超时可能会在突发的中间发生,因此将突发分为2个部分来处理而不是1。

所以我想要的是

.
.
event: a
.
. -> a
.
.
.
.
.
.event: b
.event: c
.event: d
.
.-> b,c,d
.
.
.
.
.event : e
.
. -> e
.

最佳答案

这可以通过buffer来实现,方法是将去抖动的流作为关闭选择器传入,例如:

var s = Rx.Observable.of('a')
.merge(Rx.Observable.of('b').delay(100))
.merge(Rx.Observable.of('c').delay(150))
.merge(Rx.Observable.of('d').delay(200))
.merge(Rx.Observable.of('e').delay(300))
.share()
;

s.buffer(s.debounce(75)).subscribe(x => console.log(x));

这是一个可运行的版本: https://jsbin.com/wusasi/edit?js,console,output

关于rxjs - RXJS:总计反跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35720339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com