我的用例如下:我收到事件,有时会突然发生。如果发生突发,我只需要处理一次。Debounce 做到了这一点。
然而,去抖动只给了我一个爆发的最后一个元素,但我需要知道一个爆发中的所有元素才能聚合它们(使用平面图)。
这可以通过定时窗口或缓冲区来完成,但是,这些是固定间隔,因此缓冲区/窗口超时可能发生在突发中间,因此将突发分成 2 部分来处理而不是 1 部分。
所以我想要的是
.
.
event: a
.
. -> a
.
.
.
.
.
.event: b
.event: c
.event: d
.
.-> b,c,d
.
.
.
.
.event : e
.
. -> e
.