我知道:
retryWhen(...)
允许我们在出错时重试和
repeatWhen(...)
允许完成后重试
有没有这样的运算符:
return Observable.just(isUpdating)
.repeatWhenOnNext(isUpdating -> {
if(isUpdating) {
return Observable.timer(2, TimeUnit.SECONDS); // repeat after two seconds
} else {
return Observable.just(isUpdating); // flow down to concatMap
}
})
.concatMap(o -> doSomeWorkONLYWhenIsNotUpdating());
最佳答案
嗯...不,但也许这样可以:
return Observable
.interval(0, 2, TimeUnit.SECONDS)
.filter(dummy -> !isUpdating)
.take(1)
.flatM(dummy -> doSomeWorkONLYWhenIsNotUpdating());
关于java - RxJava : How to retry on next?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40320095/