如果在 trtleTime 超时期间触发事件,请在超时完成后重播上一个事件并再次开始超时



我想看到的是这个输出:

|---0--0--0-----0---------------> Events
|---0-------0-------0-----------> Output

我提供了一个duration,流允许第一个事件通过,等待持续时间量。如果在超时期间触发了事件,请发出并再次启动超时。

在我的情况下,这些值并不重要,只知道事件发生了。

如何使用 RXJS 实现这一点?我从 throttleTime 开始,但 throttleTime 在超时结束时不会发出尾随事件。

subject
    .pipe(
        throttleTime(5000)
    )
    .subscribe(
        event => action()
    )

查看 throttleTime 的文档。您可以传入可选配置并指定前导/尾随行为。你遇到的是这样的:

配置:

Optional. Default is defaultThrottleConfig.
a configuration object to define leading and trailing behavior. Defaults to { 
leading: true, trailing: false }.

最新更新