【发布时间】:2019-12-01 22:13:56
【问题描述】:
我需要 RxSwift 中的去抖功能,如果某个时间到期,无论去抖条件如何,它都会发出偶数。
例如 设置:去抖动 = 0.2 秒 & 周期性 = 5 秒。
案例 1(需要)> 如果用户连续按下按钮,我希望收到一个即使他没有停止连续点击但仅在某个时间间隔之后。这将提供具有周期性限制的类似油门的行为。
Case 2 (Works) > 如果用户每 0.5 秒按下一次按钮,去抖动限制将不是问题,用户将每 0.5 秒获得一次事件。
案例 3 (Works) > 用户没有按下任何按钮,没有触发任何事件。
虽然 debounce 提供了案例 2 和 3。实现案例 1 很棘手。
发布一些澄清 > 我的用例不是特殊的恐慌按钮点击。我知道油门应该足够了。用例更多的是连续的数据流。如果数据连续进入去抖动限制(比如 200 毫秒),我希望有一个节流行为,每 2 秒给出一次响应,但如果数据不是很频繁地出现,比如每 0.5 秒,我希望数据立即通过可观察的 UI 发送到响应速度更快。
【问题讨论】:
标签: swift rx-swift throttling debounce