我需要RxSwift中的防抖动功能,该功能在特定时间到期时会发出偶数信号,而与防抖动条件无关。
例如 设置:反跳= 0.2秒,周期性= 5秒。
情况1(需要)>如果用户连续按下一个按钮,即使他不停止连续轻拍,而只是在一定间隔后,我也希望收到一个。这样会产生具有定期限制的油门行为。
案例2(Works)>如果用户每0.5秒按下一次按钮,则防抖动限制就不会成为问题,并且用户每0.5秒就会收到一次事件。
第3种情况(Works)>用户什么都不按下,没有事件触发。
通过反跳提供案例2和3。实现案例1很难。
发表一些澄清>我的用例不是特殊的紧急按钮单击。我知道油门就足够了。用例更多是连续的数据流。如果数据连续处于防抖动限制(例如200ms),我希望有一种节气门行为,每2秒给出一次响应,但如果数据不是非常频繁地每0.5秒给出一次,我希望可观察到的UI立即发送数据响应更快。
答案 0 :(得分:0)
在我看来,您是在描述throttle
运算符,而不是denounce
运算符。
通常,在处理按钮单击/触发时应使用油门,而在处理数据输入时应使用弹射。
答案 1 :(得分:0)
如果您要处理按钮操作,我相信使用RxSwift社区提供的Action库将是更好的选择。
这很好地处理了与按钮操作有关的场景