1
我正在使用Vertx RxJava訂戶使用REST api。我想在發生特定錯誤時重試請求,下面是我的代碼。 當我運行這個,重試不斷髮生,我寧願讓它重試三次。RxJava:使用retryWhen()重試訂戶
我是RxJava的新手,仍然以Rx方式處理事務。 有人可以告訴我是否失去了一些東西?謝謝!
responseSingle.map(response -> {
//do some stuff
return responseBody;
}).retryWhen(errors -> {
errors.flatMap(error -> {
log.info("==================== caught error ==================== ");
// For IOExceptions, we retry
if (error instanceof MySpecificException) {
log.info("==================== retrying request ==================== ");
return Observable.just(null);
}
// For anything else, don't retry
return errors;
});
return errors;
}
).onErrorReturn(t -> {
//do some stuff
return responseBody;
});
由於它會重試!這工作。 – Rakesh
你是welocme – Praveen