作用
示例
RxJava版本:2.2.19
repeat()
默认Long.MAX_VALUE次repeat(long times)
RxJava将这个操作符实现为repeat方法,它不能创建Observable。而是重复发射原始Observable的数据序列,循环次数是无限的,通过repeat(n)可以指定重复次数。
repeatWhen(final Function<? super Observable<Object>, ? extends ObservableSource<?>> handler)
repeatWhen操作符在RxJava中也是实现为方法,不能创建Observable。他不会缓存和重方Observable的数据序列,而是有条件的重新订阅和发射原Observable。
Observable发出终止的通知后,需要判断是否需要重新订阅和发射数据。如果判断为需要,就吞掉这个通知并完成重新订阅的动作,这样就可以重新开始发射一边了。如果判断为不需要,就将这个通知传给下游,整个流程也就也就结束了。
repeatUntil(BooleanSupplier stop)
重复发送Observable的数据,直到BooleanSupplier返回true.
rxjava-computation-expressions可选包内容
- doWhile
- whileDo
参考资料
http://reactivex.io/documentation/operators/repeat.html