我正在将RxJava与AndroidFastNetworking库一起使用。如果我想使用Scheduler类创建一个Observable,该Observable每60秒初始化一次Http请求,但是我希望它等待初始化的请求完成(成功或错误),然后再次开始60秒间隔并初始化后续一,那会是什么样?
答案 0 :(得分:0)
使用rangeLong
= 1的flatMap
源和maxConcurrent
(确保flatMap
一次仅订阅一个内部Flowable):
Single<Result> request = ...;
Flowable<Result> delay =
Flowable.<Result>empty()
.delaySubscription(60, TimeUnit.SECONDS, scheduler);
Flowable<Result> flowable =
Flowable
.rangeLong(0, Long.MAX_VALUE)
.flatMap(n -> request
.toFlowable()
.concatWith(delay), 1))
.doOnNext(result -> System.out.println(result))
...