Android技术汇总

RxJava基本操作符(创建)

2018-09-27  本文已影响0人  土肥圆的诺诺

其实现在很多人写代码看框架最痛苦的就是英文文档看不懂,感谢大神分享的文档,开源万岁。
以下是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的操作符的参数

上一篇下一篇

猜你喜欢

热点阅读