RxJava——功能性操作符

一、作用

辅助被观察者在发送事件时实现一些功能性需求

如:错误处理、线程调度等

二、类型

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 );

你可能感兴趣的:(RxJava——功能性操作符)