作用

将Observable重复发射指定次数。
image.png

示例

RxJava版本:2.2.19

  • repeat() 默认Long.MAX_VALUE次
  • repeat(long times)

RxJava将这个操作符实现为repeat方法,它不能创建Observable。而是重复发射原始Observable的数据序列,循环次数是无限的,通过repeat(n)可以指定重复次数。
image.png

  • repeatWhen(final Function<? super Observable<Object>, ? extends ObservableSource<?>> handler)

repeatWhen操作符在RxJava中也是实现为方法,不能创建Observable。他不会缓存和重方Observable的数据序列,而是有条件的重新订阅和发射原Observable。
Observable发出终止的通知后,需要判断是否需要重新订阅和发射数据。如果判断为需要,就吞掉这个通知并完成重新订阅的动作,这样就可以重新开始发射一边了。如果判断为不需要,就将这个通知传给下游,整个流程也就也就结束了。
image.png

  • repeatUntil(BooleanSupplier stop)

重复发送Observable的数据,直到BooleanSupplier返回true.

rxjava-computation-expressions可选包内容