Xia*_*ang 22
您不需要使用 onErrorResumeNext 映射错误。您可以使用以下方法提供备份 observable:
它会是这样的:
.timeout(500, TimeUnit.MILLISECONDS, Observable.empty())
Run Code Online (Sandbox Code Playgroud)
dwu*_*sen 11
您可以从另一个错误中恢复Observable,例如:
Observable<String> data = ...
data.timeout(1, TimeUnit.SECONDS)
.onErrorResumeNext(Observable.empty())
.subscribe(...);
Run Code Online (Sandbox Code Playgroud)
一个不使用的更简单的解决方案Observable.timeout(因此它不会产生错误,并且有捕获不必要的异常的风险),这可能只是简单地在计时器完成之前进行:
Observable<String> data = ...
data.takeUntil(Observable.timer(1, TimeUnit.SECOND))
.subscribe(...);
Run Code Online (Sandbox Code Playgroud)