RxSwift 11 与时间相关的操作符 |
您所在的位置:网站首页 › rxjava操作符 › RxSwift 11 与时间相关的操作符 |
时间, 或者说是时机, 实际上是异步编程中的根本问题. 而 Rx 要实现的也是对随时间变化的异步数据流进行有效组织管理. 故Rx在这个方面提供了若干的操作符便于编程. 下面就来看看. 1 概述首先设置好示例工程, 然后开始在工程中进行相关操作. 2 缓存操作符第一组操作符是 buffering 类型的操作符. 它可以实现重新发送已发送的数据(replay), 或者是在指定的时间去发射数据等. 总地来说, 他们可以决定在何时以何种方式去发射过去的和新的数据. 2.1 重现已发送的数据有的时候希望在新的观察者到达的时候, 能够观察到之前的部分或全部的数据, 这样的功能可以通过两个操作符实现: replay 以及 replayAll. 首先来定义一些常量, 之后的编程需要使用这些值: let elementsPerSecond = 1 let maxElements = 5 let replayedElents = 1 let replayDelay: TimeInterval = 3其中 elementsPerSecond 的作用是控制每秒发射的数据数量. 先创建一个随时间变换而不停发射数据的 Observable, 然后在它最后使用 replay() 操作符, 结果就是创建出一个缓存了最近若干个数据的 Observable. 这个需要仔细去看, 当前没有 source code , 没法跟着他一起去搞... 2.2 不限制缓存数据个数如果不想限制缓存的数据个数, 则可以使用 replayAll 操作符. 3 时间变换操作符 4 定时器操作符略. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |