一、作用
辅助被观察者在发送事件时实现一些功能性需求
如:错误处理、线程调度等
二、类型
A:连接观察者&被观察者——subscribe()订阅
B:线程调度——subscribeOn()、observeOn()
C:延迟操作——delay()
D:在事件的生命周期中操作——do()
E:错误处理——onErrorReturn()、onErrorResumeNext()、onExceptionResumeNext()、retry()、retryUntil()、retryWhen()
F:发送重复操作——repeat()、repeatWhen()
三、操作符应用详解
1、subscribe()
作用:订阅,连接观察者和被观察者
具体使用:
observable.subscribe(observer);
2、延迟操作
delay()
作用:使得被观察者延迟一段时间再发送事件
方法介绍:
//1.指定延迟时间
//参数1 = 时间;参数2 = 时间单位
delay(long delay,TimeUnit unit)
//2.指定延迟时间&调度器
//参数1 = 时间;参数2 = 时间单位;参数3 = 线程调度器
delay(long delay,TimeUnit unit,mScheduler scheduler)
//3.指定延迟时间&错误延迟
//参数1 = 时间;参数2 = 时间单位;参数3 = 错误延迟参数
delay(long delay,TimeUnit unit,boolean delayError)
//4.指定延迟时间&调度器&错误延迟
//参数1 = 时间;参数2 = 时间单位;参数3 = 线程调度器;参数4 = 错误延迟参数
delay(long delay,TimeUnit unit,mScheduler scheduler,boolean delayError)
其它延迟操作符类似。
3、在事件生命周期中操作
需求场景:在事件发送&接收的整个生命周期过程中进行操作
如:发送事件前的初始化、发送事件后的回调请求等
do()
作用:在某个事件的生命周期中调用
类型:
[图片上传失败...(image-a6d295-1512547159577)]
4、错误处理
需求场景:发送事件过程中,遇到错误时的处理机制
对应操作符类型:
[图片上传失败...(image-c5332c-1512547159577)]
5、重复发送
需求场景:重复不断的发送被观察者事件
对应操作符类型:
repeat()&repeatWhen()
// 不传入参数 = 重复发送次数 = 无限次
repeat();
// 传入参数 = 重复发送次数有限
repeatWhen(Integer int );
网友评论