#创建操作符
###基本创建
create(ObservableOnSubscribe<T> source)
unsafeCreate(ObservableSource<T> onSubscribe)
###快速创建&发送事件
just()
快速创建一个Observable,并发送事件,数据源为泛型
just(T item)
just(T item1, T item2)
just(T item1, T item2, T item3)
just(T item1, T item2, T item3, T item4)
just(T item1, T item2, T item3, T item4, T item5)
just(T item1, T item2, T item3, T item4, T item5, T item6)
just(T item1, T item2, T item3, T item4, T item5, T item6, T item7)
just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8)
just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9)
just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9, T item10)
**fromArray()** 快速创建一个Observable,并发送事件,数据源为数组
fromArray(T... items)
fromIterable()
fromIterable(Iterable<? extends T> source)
快速创建一个Observable,并发送事件,数据源为所有实现Iterable的列表
range()
快速创建一个Observable,并发送Integer事件
range(final int start, final int count)
参数 | 说明 |
---|---|
start | 指定第一次发送的Integer的值 |
count | 发送的次数 |
**rangeLong()** 快速创建一个Observable,并发送Integer事件
rangeLong(long start, long count)
参数 | 说明 |
---|---|
start | 指定第一次发送的Long的值 |
count | 发送的次数 |
**tip: start的意思是第一次发送的值,默认发送0,比如指定5,第一次发送的值就是5,
count的意思是总共发生的次数,比如如果start等于0,count等于10,就是发送0-9一共10次事件,如果start等于3,count等于10,那么就是发送3-12共10次事件。
###延迟创建
defer()
延迟创建一个Observable,数据源为泛型
defer(Callable<? extends ObservableSource<? extends T>> supplier)
**timer()** 延迟指定的时间后,执行一次发送,发送一个Long为0的事
timer(long delay, TimeUnit unit)
timer(long delay, TimeUnit unit, Scheduler scheduler)
参数 | 说明 |
---|---|
delay | 延迟 delay 时间后,发送一个Long为0的事件 |
unit | 时间单位 |
scheduler | 调度器,默认:Schedulers.computation() |
**interval()** 延迟指定的时间后,周期性发送Long事件
interval(long initialDelay, long period, TimeUnit unit)
interval(long initialDelay, long period, TimeUnit unit, Scheduler scheduler)
interval(long period, TimeUnit unit)
interval(long period, TimeUnit unit, Scheduler scheduler)
参数 | 说明 |
---|---|
initialDelay | 延迟 delay 时间后,发送一个Long为0的事件,未设置此参数的情况下,默认等于period |
period | 间隔 period 后,发送一次Long事件,从0开始依次递增 |
unit | 时间单位 |
Scheduler | 调度器 默认:Schedulers.computation() |
**intervalRange()** 延迟指定的时间后,周期性发送Long事件,并且从start开始,发送count次结束
intervalRange(long start, long count, long initialDelay, long period, TimeUnit unit)
intervalRange(long start, long count, long initialDelay, long period, TimeUnit unit, Scheduler scheduler)
参数 | 说明 |
---|---|
start | 指定第一次发送的Long的值 |
count | 发送的次数 |
initialDelay | 延迟 delay 时间后,发送一个Long为0的事件,未设置此参数的情况下,默认等于period |
period | 间隔 period 后,发送一次Long事件,从0开始依次递增 |
unit | 时间单位 |
Scheduler | 调度器 默认:Schedulers.computation() |
###其他创建
以下3种创建基本属于测试的时候使用的,所以不多讲解
empty()
never()
error(final Throwable exception)
error(Callable<? extends Throwable> errorSupplier)
##哎,累了,下次继续写其他的操作符~##