3
A
答えて
8
は、あなたが他のObservable
とエラーから再開することができwant-どんなアイテム発することができます。
Observable<String> data = ...
data.timeout(1, TimeUnit.SECONDS)
.onErrorResumeNext(Observable.empty())
.subscribe(...);
3
あなたは常にエラーになりますどの onErrorResumeNext を使用することができ、あなたが、たとえば、
/**
* Here we can see how onErrorResumeNext works and emit an item in case that an error occur in the pipeline and an exception is propagated
*/
@Test
public void observableOnErrorResumeNext() {
Subscription subscription = Observable.just(null)
.map(Object::toString)
.doOnError(failure -> System.out.println("Error:" + failure.getCause()))
.retryWhen(errors -> errors.doOnNext(o -> count++)
.flatMap(t -> count > 3 ? Observable.error(t) : Observable.just(null)),
Schedulers.newThread())
.onErrorResumeNext(t -> {
System.out.println("Error after all retries:" + t.getCause());
return Observable.just("I save the world for extinction!");
})
.subscribe(s -> System.out.println(s));
new TestSubscriber((Observer) subscription).awaitTerminalEvent(500, TimeUnit.MILLISECONDS);
}
0
Observable.timeout
を使用しないより簡単な解決法(したがって、不要な例外をキャッチするリスクを伴わないエラーを生成しない)は、タイマーが完了するまでESは:
Observable<String> data = ...
data.takeUntil(Observable.timer(1, TimeUnit.SECOND))
.subscribe(...);
関連する問題
- 1. RxJava:タイムアウト中に2回の呼び出し
- 2. RxJava:部分的な結果を出力するネットワークとキャッシュ
- 3. 地理エラーとタイムアウト
- 4. Retrofit2 + RxJavaエラー処理
- 5. RxJava:複数のオブザーバのタイムアウトを設定しますか?
- 6. シンプルなRxjavaとgradle codeにエラーが発生しますか?
- 7. RxJavaでの堅牢なエラー処理
- 8. RxJava + Retrofit 2ユニットテスト奇妙なエラー
- 9. Retrofit 2とRxJavaのエラー処理オペレータ
- 10. rxjavaとの同期呼び出しAndroid
- 11. RxJavaが空にエラーを出しました
- 12. rbuf_fillでのレスキュー:タイムアウト::エラー(タイムアウト::エラー)
- 13. RxJS:エラーなしのタイムアウト
- 14. RxJava FlatMap:エラーをスキップするには?
- 15. rxJavaから抽出してrealmオフラインデータベースに置く方法は?
- 16. WebDriverWaitタイムアウトは、明示的なタイムアウトではなく、ドライバの暗黙的なタイムアウトを待機します
- 17. タイムアウト::エラーが
- 18. フォームアプリケーションを開くことなく自動提出
- 19. RxJavaとRetrofit2:NetworkOnMainThreadException
- 20. RxJava:データベースとリモートサーバー
- 21. RxJavaとAndroid
- 22. RxJavaとAndroidサービス
- 23. RxJavaとRetrofit2:android.os.NetworkOnMainThreadException
- 24. uacを呼び出すことなくサービスを開始する
- 25. フォームを提出することなくオートコンプリートをトリガーする
- 26. ノード - クラッシュすることなくdbエラーを処理する
- 27. RxJavaはタイムアウトのある最初の応答項目のみをチェックします
- 28. jquery form submit submitボタンを押すことなく提出する
- 29. RabbitMQのタイムアウト::エラー:IOタイムアウト7バイト
- 30. 応答を遅くすることなくマイクロサービスを呼び出すには?
これは、このコードが行うことです。それはあなたのエラーを即座に完了するObservableに変換します – dwursteisen
それはあまりにもそれらをキャッチするので、エラーがさらに上流から来る可能性がある場合、この解決策は動作しないことに注目する価値がある... – forresthopkinsa