rxjava创建操作符v2.2.1

博客主要介绍了RxJava的创建操作符。包括基本创建、快速创建与发送事件(如just()、fromIterable()、range())、延迟创建(defer())等操作符的使用,还对range()操作符中start和count的含义做了解释,另外提到有3种用于测试的创建操作符未详细讲解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#创建操作符
###基本创建

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 时间后,发送一个Long0的事件
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 时间后,发送一个Long0的事件,未设置此参数的情况下,默认等于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 时间后,发送一个Long0的事件,未设置此参数的情况下,默认等于period
period间隔 period 后,发送一次Long事件,从0开始依次递增
unit时间单位
Scheduler调度器 默认:Schedulers.computation()


###其他创建
以下3种创建基本属于测试的时候使用的,所以不多讲解

empty()
never()
error(final Throwable exception)
error(Callable<? extends Throwable> errorSupplier)

##哎,累了,下次继续写其他的操作符~##

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值