Rx java 如何根据输出重试Observable
假设我有一个Rx java 如何根据输出重试Observable,rx-java,Rx Java,假设我有一个可观察的,它可能会也可能不会发出事件,这意味着只调用onComplete(),而不调用onNext()。如果没有发出事件,我需要从可观察的重复该操作。我该怎么做?谢谢大家! 切换ifempty可能有帮助: source.switchIfEmpty( Observable.error(new RuntimeException("is empty"))) .retry() 请记住,上面抛出的错误以外的错误也会提示重试,这可能并不理想。在这种情况下,我建
可观察的
,它可能会也可能不会发出事件,这意味着只调用onComplete()
,而不调用onNext()
。如果没有发出事件,我需要从可观察的重复该操作。我该怎么做?谢谢大家! 切换ifempty
可能有帮助:
source.switchIfEmpty(
Observable.error(new RuntimeException("is empty")))
.retry()
请记住,上面抛出的错误以外的错误也会提示重试,这可能并不理想。在这种情况下,我建议使用不同的重试重载:
source.switchIfEmpty(
Observable.error(new EmptyException()))
.retry((retryNumber, throwable) -> throwable instanceof EmptyException)
switchIfEmpty
可能有帮助:
source.switchIfEmpty(
Observable.error(new RuntimeException("is empty")))
.retry()
请记住,上面抛出的错误以外的错误也会提示重试,这可能并不理想。在这种情况下,我建议使用不同的重试重载:
source.switchIfEmpty(
Observable.error(new EmptyException()))
.retry((retryNumber, throwable) -> throwable instanceof EmptyException)