【问题标题】:Equivalent to debounce operator Rx相当于去抖算子 Rx
【发布时间】:2020-04-19 11:01:37
【问题描述】:

其实我需要实现类似debounce 运算符的东西,但我们举个例子。如果我将 debounce 设置为 5 秒,那么用户可以在 5 秒内点击按钮 10 次,并且在 5 秒过期后将考虑最后一次点击事件。

我需要的是当 5 秒设置为时间范围时的选项,当用户点击 10 次时,将考虑 立即 以及在 5 秒时间范围内发出的所有其他点击将被解雇。

5 秒后用户可以再次开始点击。

怎么做?

【问题讨论】:

标签: android rxjs rx-java rx-java2


【解决方案1】:

RxJS 中有另一个运算符来完成你的任务,throttleTime

它将订阅第一个发出的值,然后等待 5 秒,然后在 5 秒后再次发出值。

const source = fromEvent(document, 'click').pipe(
  throttleTime(5000),
);

请在此处找到工作示例:https://stackblitz.com/edit/rxjs-hwviuc

您可以在throttleTime here了解更多信息

【讨论】:

  • 在 RxJava 中,操作符被称为 throttleLatest(...)
猜你喜欢
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
相关资源
最近更新 更多