美文网首页
RxJava——功能性操作符

RxJava——功能性操作符

作者: Jotyy | 来源:发表于2017-12-06 15:59 被阅读0次

    一、作用

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

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

    二、类型

    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——功能性操作符

          本文链接:https://www.haomeiwen.com/subject/toclixtx.html