美文网首页
RxJava的常见使用场景

RxJava的常见使用场景

作者: X_Sation | 来源:发表于2018-02-07 14:11 被阅读27次

    demo地址

    rx的优势:

    • 线程切换,不需要像handler那样 请求与结果在不同地方
    • 链式编程, 复杂的逻辑形成一条链,消灭回调地狱、迷之缩进,并且可以在期间做各种线程切换

    后面所有的线程切换都是用封装好的方法

    接下来是rxjava在项目中的常用写法

    通常有一个类 专门写各种借口,XXXManager,返回值为Observable<T>,可以包装同步、异步请求,然后看一下manager的实现

    • 简单的使用,子线程网络,主线程UI

    • map实现从网络bean到uibean的转换

    • flatmap实现串行网络请求

    • flatmap结合map

    • zip操作符实现并行操作

    • 对error的处理

      • 如何发出一个error

      • 如何处理error

      • 两个参数去处理error

      • 一个类处理error

      • 封装类去同意处理error

    • 内存泄漏

      • 直接取消订阅

      • 添加到集合(CompositeDisposable)然后统一控制

      • 封装observer

      • emitter.onNext(对象)中不可传入null,会抛出异常,不过会在最后的onError中捕获到,也可以作为一种错误逻辑处理的方式,不过不推荐使用

      • 几个常用的操作符 map flatmap zip filter interval.......

    上面说的都是一次发送一条消息,以下是结合操作符,发送多条消息的例子

    • 几个操作符的例子,都是基于发送多条消息

    • merge 看图 一条信息、N条信息


      image.png
    • zip 看图 一条信息、N条信息


      image.png
    • 背压 Flowable 上游数据产生过快,下游来不及处理

    相关文章

      网友评论

          本文标题:RxJava的常见使用场景

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