变换操作符
map
作用
将观察者发送的数据类型转变为其他的数据类型
使用
1 | Observable.just(1,2,3) |
输出结果
1 | accept: string: 1 |
flatMap
作用
将一个发送事件的被观察者转变为多个发送事件的被观察者,然后将他们发送的事件合并后放在一个单独的被观察者中,在flatMap中不保证事件的顺序。
使用
1 | Observable.just(1,2,3,4,5,6) |
输出结果
1 | accept: string: 1 |
concatMap()
作用
与flatMap作用一样,但是保证了顺序不变
使用
1 | //concatMap |
输出结果
1 | accept: string: 1 |
buffer()
作用
从需要发送的事件中获取一定数量的事件,并将这些事件放置在缓冲区中一起发出
count: 缓冲区的大小
skip: 缓冲区满了之后,发送下一个时间跳过多少个元素
timespan: 每隔timespan时间段发送一次
使用
1 | Observable.just(1,2,3,4,5,6) |
1 | Observable.just(1,2,3,4,5,6) |
1 | Observable.just(1,2,3,4,5,6) |
groupBy()
作用
将发送的数据根据需要进行分组,每个分组再返回给被观察者
使用
1 | Observable.just(1,2,3,4,5,6) |
输出结果
1 | group1 |
window()
作用
被观察者发送一定数量的事件,按照count参数的大小,将发送的事件分组
使用
1 | Observable.just(1,2,3,4,5,6) |
输出结果
1 | io.reactivex.subjects.UnicastSubject@2c02ead8accept: 1 |