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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容