美文网首页Android技术汇总
RxJava基本操作符(创建)

RxJava基本操作符(创建)

作者: 土肥圆的诺诺 | 来源:发表于2018-09-27 16:56 被阅读0次

    其实现在很多人写代码看框架最痛苦的就是英文文档看不懂,感谢大神分享的文档,开源万岁。
    以下是RxJava中文文档,大家可以看着文档学习,还是比较靠谱的。我准备按照文档的划分,把常用的操作符都写一遍,当然有些我也没理解怎么用, 同志们知道的请留言 ,蟹蟹

    中文文档

    • https://mcxiaoke.gitbooks.io/rxdocs/content/
      先看文档进行基础讲解,
      Rx系列其实就是经典的观察者模式,但是比观察者模式多了onCompleted, onError方法,采用组合的模式,避免了来回嵌套,死在回调的悲惨。
      观察者模式可以说基本分解下来就四大条件
    • 观察者(Observer)
    • 被观察者(Observable)
    • 订阅(subscribe)
    • 驱动事件
      这是我写的观察者模式的一些东西,需要的可以看一下
      https://www.jianshu.com/p/39aed83cf0ef
      我们先讲一下如何对RxJava进行创建
      创建方式

    just

    将一个或多个对象转换成发射这个或这些对象的一个Observable




    from 遇到只包含一个数据的时候,会使用just创建Observable
    just 遇到多于一个的情况,会使用from 创建 Observable



    from

    将一个Iterable, 一个Future, 或者一个数组转换成一个Observable



    我们看出from有很多参数,比如可以迭代的,从数组,甚至还可以从Future线程里,多长时间等,我们一般常用从集合或者数组


    从集合

    从数组

    repeat

    创建一个重复发射指定数据或数据序列的Observable
    这个准确来说可以理解为将之前的数据再发射几次



    默认是1次,可以选填几次



    repeatWhen(未完成)

    创建一个重复发射指定数据或数据序列的Observable,它依赖于另一个Observable发射的数据
    其实这个不是很好理解,但是可以理解为再符合某个条件的时候,我们会再次repeat就可以了,
    它的返回类型要求是 Observable。

    create()

    使用一个函数从头创建一个Observable
    这个还是比较简单的



    defer

    只有当订阅者订阅才创建Observable;为每个订阅创建一个新的Observable
    这个还是比较有用的,比如你用just,当你just运行的时候,数据立即发送,即便你没有subscribe,这个会等你绑定以后才会创建Observable,挨个发送数据,所以返回值是Observable;



    range

    创建一个发射指定范围的整数序列的Observable
    这个就是发送一个从x起一共多少个数字的api,比如我的例子就是从6开始,10个数字,就到了15



    interval

    创建一个按固定时间间隔发射整数序列的Observable
    每隔多久,发送一个数字,从0开始,不会停止



    timer

    创建一个在给定的延时之后发射单个数据的Observable
    理解为绑定后,延迟多久发送然后结束


    Empty

    创建一个不发射任何数据但是正常终止的Observable
    说白了就是发射就结束了



    Never

    创建一个不发射数据也不终止的Observable
    绑定后就没下文了



    Throw

    创建一个不发射数据以一个错误终止的Observable

    这三个操作符生成的Observable行为非常特殊和受限。测试的时候很有用,有时候也用于结合其它的Observables,或者作为其它需要Observable的操作符的参数

    相关文章

      网友评论

        本文标题:RxJava基本操作符(创建)

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