RxJava使用详解
RxJava使用详解系列文章
《 RxJava使用详解--转换操作符》详细的例子可以查看文章末尾的源码
一、RxJava有什么用?
简单说几点:简化代码、简单实现异步错误处理、轻松使用并发、有很多操作符,可组合使用,使用非常灵活。
二、下面说一下RxJava常用的创建操作符,其他操作符会在后面的几篇文章里再为大家详细介绍。
常见的创建操作符:create()、just()、from()、defer()、interval()、timer()、range()、repeat()、empty()、never()、error()。
1.create():从头开始创建一个Observable对象,默认不在任何特定的调度器上运行,
2.just():创建一个发射指定值得Observable对象,只是简单的将数据原样发射,原来是什么类型就发射什么类型,顺序就是按照参数列表的顺序进行发射,
3.from():可以转换Future、Itetable和数组,对于Iterable和数组,产生的Observable会发射Iterable或者数组的每一项数据;对于Future,Observable会发射Future.get()方法返回的单个数据,并且支持设置超时时间、时间单位、运行所在线程,如果超过设置的超时时间,就发射错误通知。
4.defer():直到有观察者订阅时才会创建Observable对象,并且为每一个观察者创建一个新的Observable对象
5.interval():创建一个按固定时间间隔发射整数数列的Observable对象,有多个重载方法,可以都看一下,介绍一下三个参数的构造函数:第一个参数:第一次延时多久发射数据, 第二个参数:发射数据的时间间隔(从第二次开始),第三个参数:时间单位,第四个参数:指定发射相数据所在的线程,
默认是在computation调度器上运行,
6.timer():创建一个Observable对象,它在一个给定的延迟后发射一个特殊的值0,默认在computation调度器上运行,可以通过参数指定运行的线程
7.range():创建一个发射特定整数序列的Observable对象,可以通过参数指定运行线程,以下构造函数的参数说明:第一个参数:起始值,第二个参数:终止值,第三个参数:运行线程。如果终止值为0,将导致Observable对象不发送任何数据,如果设置成负数就会抛异常
默认不在任何特定的调度器上
8.repeat():创建一个发射特定数量重复多次的Observable对象,多个重载方法,默认在transpoline调度器上运行
9.empty()、never()、error():一般用于测试,有时候也可以结合其他的Observables,或者作为其他需要Observable的操作符的参数
更多详细的内容,可以查看源码
相关文章
- Docker使用指南(二)——容器相关操作详解(实战案例教学,创建/使用/停止/删除)
- 使用composer命令创建laravel项目命令详解
- Google Map开发系列(四)——使用JavaScript创建地图步骤详解
- linux系统编程之进程(八):守护进程详解及创建,daemon()使用
- 守护进程详解及创建,daemon()使用
- 使用python创建mxnet操作符(网络层)
- 18.C++-[ ]操作符使用 、函数对象与普通函数区别(详解)
- Oracle两种临时表的创建与使用详解
- 使用命令创建flask项目虚拟环境详解
- Scala IDE for Eclipse的下载、安装和WordCount的初步使用(本地模式和集群模式) Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解)Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解)