代码之家  ›  专栏  ›  技术社区  ›  Alex Stone

iOS RXSwift什么是仅允许通过第一个事件的debounce?

  •  0
  • Alex Stone  · 技术社区  · 6 年前

    我有一个发送网络请求的按钮。我想忽略这个按钮中的双击。我试过了 .throttle ,但这似乎不起作用。所以我试着 .debounce

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

    哪个RXSwift运算符可以帮助我完成事件并在时间窗口内禁用后续事件?

    let buttonPressObservable = button.rx.tap.asObservable()
    
    buttonPressObservable.debounce(0.33, scheduler: MainScheduler.instance)
    .map{/*do stuff*/}
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Daniel T.    6 年前

    在库的版本4.2中, throttle latest 设置为 true 默认情况下。如果你把它设为假,我想它会给你你想要的行为。