iOS RXSwift仅允许通过第一个事件进行的反跳操作是什么?

时间:2018-08-12 14:16:10

标签: swift4 ios11 rx-swift throttling debounce

我有一个发送网络请求的按钮。我想忽略此按钮内的双击。我尝试了.throttle,但似乎没有用。因此,我正在尝试.debounce-这确实忽略了重复的点击,但只允许通过最后一个事件。

我想要的是:第一次点击,发送网络请求,在0.33秒内忽略后续的点击。

哪个RXSwift运算符可以帮助我处理事件并在时间范围内禁用后续事件?

let buttonPressObservable = button.rx.tap.asObservable()

buttonPressObservable.debounce(0.33, scheduler: MainScheduler.instance)
.map{/*do stuff*/}

1 个答案:

答案 0 :(得分:1)

在该库的版本4.2中,throttle具有一个参数latest,该参数默认情况下设置为true。如果将其设置为false,我认为它将为您提供所需的行为。