RxSwift 11 与时间相关的操作符

您所在的位置:网站首页 rxjava操作符 RxSwift 11 与时间相关的操作符

RxSwift 11 与时间相关的操作符

2023-03-19 18:06| 来源: 网络整理| 查看: 265

时间, 或者说是时机, 实际上是异步编程中的根本问题. 而 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