RxJava学习(十一)操作符总结

一.创建操作符
作用:创建被观察者(Observable)对象,发送事件
1.基本创建:creat()
2.快速创建并发送事件:just,fromArray,fromIterable,never,empty,error
3.延迟创建:defer,timer,interval,intervalRange,range,rangeLong

二.变换操作符
作用:对事件序列中的事件 / 整个事件序列 进行加工处理(即变换),使得其转变成不同的事件 / 整个事件序列
1.map,事件转换
2.flatMap,事件拆分再合并转换,顺序可能变了
3.concatMap,事件拆分再合并转换,顺序不变
4.Buffer,缓存被观察者发送的事件

三.组合,合并操作符
作用:组合 多个被观察者(Observable) & 合并需要发送的事件
1.组合多个被观察者
1.1concat,concatArray 按发送顺序,组合多个被观察者
1.2merge,mergeArray 按时间组合多个被观察者
1.3concatDelayError,mergeDelayError 错误处理

2.合并多个事件
2.1zip 按数量合并
2.2combineLatest,combineLatestDelayError 按时间合并
2.3reduce,collecy合并成一个事件发送

3.发送前追加事件,startWith,startWithArray

4.统计发送的数量,count

四.功能性操作符
作用:辅助被观察者(Observable) 在发送事件时实现一些功能性需求
1.连接被被观察者和观察者,subscribe

2.线程调用,subscribe,被观察者的线程切换,observeOn,观察者的线程调度

3.延迟操作,delay

4.在事件的生命周期中操作,do

5.错误处理,retry,retryUntil,retryWhen

6.重复发送操作,repeat无条件,repeatWhen有条件

五.过滤操作符
作用:过滤 / 筛选 被观察者(Observable)发送的事件 & 观察者 (Observer)接收的事件
1.根据 指定条件 过滤事件
filter,offeType,skip,skipLats,distinc,distincUnitilChanged
2.根据 指定事件数量 过滤事件
take,takeLast,
3.根据 指定时间 过滤事件
throttleFirst,throttleLast,sample,throttleWithTimeOut,debunce
4.根据 指定事件位置 过滤事件
firstElement,lastElement,elemetAt,elemetAtError
六.条件/布尔操作符
作用:
1.通过设置函数,根据条件发送符合条件的事件。
2.判罚事件的发送条件,是否符合设置的函数条件。
all,exists,contains,isEmpty,amb,takeWhile,takeUntil,skipWhile,skipUntil,defaultEmpty,SequenceEqual.

你可能感兴趣的:(RxJava学习(十一)操作符总结)