ios - RxSwift : Receive events immediately, 除非最后一个事件在某个时间间隔内被处理

标签 ios swift rx-swift reactivex

RxSwift/Reactivex 的新功能。基本上我想做的是每当有事情发生时就调用服务器,但要确保调用频率不会超过每 10 秒一次。尽可能少一些。

例如,每当生成事件(“需要更新”)时,如果自上次调用以来已超过 10 秒,我想立即调用服务器。如果时间更短,我想在距离上一次通话还有 10 秒时调用电话。在这 10 秒内生成了多少事件并不重要。

我查看了 throttle 的描述,但如果事件发生得非常快,它似乎会饿死,这是不可取的。

我怎样才能做到这一点?

最佳答案

RxSwiftExt 有一个提议的新运算符,我认为它会为您提供您正在寻找的东西。但是,它还不存在。不过,您可能需要关注它。

https://github.com/RxSwiftCommunity/RxSwiftExt/issues/10

关于ios - RxSwift : Receive events immediately, 除非最后一个事件在某个时间间隔内被处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37416121/

相关文章:

macos - NSTableview 与 RXSwift 和 RxCocoa for OSX

objective-c - 使用 [NSBundle mainBundle] 写入文件失败

objective-c - NSMutableURLRequest 发送两次

ios - 将动态库注入(inject)企业应用程序(ipa)

ios - 由于弹跳而无法获得正确的 ScrollView 方向

swift - 链式网络请求 RXSwift

ios - 防止自动布局拉伸(stretch)自定义 View

ios - 获取位置后如何进行后台网络调用?

swift - 在 macOS 中将 AppleScript 与 Apple Events 结合使用 - 脚本不起作用

swift - RxSwift 压缩后丢失顺序