1、创建操作符:
创建操作符:
- create() 基本创建符
- just(1,2,3,4,) 创建确定个数
- fromArray( new String[]) 创建数组型
- fromIterable( new Array()) 创建集合类型,
- never() , empty() ,error()
- 延迟类或者循环类型 defer() ,当第二次定义Observable.just(i)中的i值时,才会去创建Observable、timer(延时时间,时间单位)
- interval(n秒后开始,间隔时间,时间单位)
- intervalRange(起点时间,循环次数,延时时间,间隔时间,时间单位)
- ranger(起点,次数)
变换操作符:
- map() 变换数据类型,Observable发送的是int类型,observer收到 string类型,中间通过map来变换数据类型
- FlatMap 拆分Observable原有的事件 ,变换后无序
- ConcatMap() 拆分Observable原有的事件 ,变换后依然是原来的顺序
- Buffer() 缓存Observable 发送的事件,
组合/合并操作符:
- concat /concatArray 组合多个Observable一起发送数据给observer,不带Array的最多发4个,有array可发送4个以上,按事件顺序发送
- merge/mergeArray 也是组合多 Observable.merge(Observable.intervalRange(0, 3, 1, 1, TimeUnit.SECONDS), // 从0开始发送、共发送3个数据、第1次事件延迟发送时间 = 1s、间隔时间 = 1s 这是按时间顺序来发送
- zip 合并几个事件发送的value 1v1合并 按对应关系合并
- combineLatest 按时间顺序合并
- reduce 将被观察者Observable多个事件合并成一个事件发送
- collect 将Observable多个事件合并在一个容器中,比如 集合中
- startWith/startWithArray 在当前Observable发送时间前追加事件,或者追加Observable
- count 统计发送数量
1、功能防抖:例如登录Button这个网络请求,当网络环境差的时候,用户可能点击一次没有反应,会在很短的时刻多次点击,造成多次请求网络,影响效率,我们可以使用RXJava来避免这样的情况