Rob*_*ert 2 uitextfield swift rx-swift
我正在学习RxSwift,我想实现的就是让机制打印我text的UITextFied,但考虑到时间间隔之后.
它现在如何工作:当我输入第一个字符时,这个字符立即被打印出来(不是在延迟之后我的预期)并且如果我继续键入长句,text则在每两秒后打印一次(因为间隔设置在节流中),但是我我想只有最新的text价值.
我的代码:
inputField.rx.text.orEmpty
.throttle(2, latest: true, scheduler: MainScheduler.instance)
.subscribe(onNext: { text in
print("\(text)")
}, onDisposed: nil)
.addDisposableTo(disposeBag)
Run Code Online (Sandbox Code Playgroud)
我正在寻找你的帮助Rx研究员:)谢谢
用debounce而不是throttle.
从以下文档debounce:
忽略来自可观察序列的元素,这些元素在指定的相对持续时间内跟随另一个元素,使用指定的调度程序来运行限制定时器.
从文档中throttle.
返回一个Observable,它在指定持续时间的连续时间窗口期间发出源Observable发出的第一个和最新项.
| 归档时间: |
|
| 查看次数: |
1371 次 |
| 最近记录: |