From 5375e127ad12206cb8ea719cdbca0fa4165cc3db Mon Sep 17 00:00:00 2001 From: eajon <546464955@qq.com> Date: Tue, 22 Jan 2019 16:14:55 +0800 Subject: [PATCH] =?UTF-8?q?*=20=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eajon/function/RetryExceptionFunction.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/RxHttp/src/main/java/com/github/eajon/function/RetryExceptionFunction.java b/RxHttp/src/main/java/com/github/eajon/function/RetryExceptionFunction.java index 66d1bac..55001df 100644 --- a/RxHttp/src/main/java/com/github/eajon/function/RetryExceptionFunction.java +++ b/RxHttp/src/main/java/com/github/eajon/function/RetryExceptionFunction.java @@ -17,7 +17,6 @@ package com.github.eajon.function; -import com.github.eajon.exception.ApiException; import com.github.eajon.util.LoggerUtils; import java.net.ConnectException; @@ -50,7 +49,7 @@ public RetryExceptionFunction(int count) { @Override - public Observable apply(@NonNull Observable observable) throws Exception { + public Observable apply(@NonNull Observable observable) { return observable.zipWith(Observable.range(1, count + 1), new BiFunction () { @Override public Wrapper apply(@NonNull Throwable throwable, @NonNull Integer integer) throws Exception { @@ -59,17 +58,10 @@ public Wrapper apply(@NonNull Throwable throwable, @NonNull Integer integer) thr }).flatMap(new Function >() { @Override public ObservableSource apply(@NonNull Wrapper wrapper) throws Exception { - if (wrapper.index > 1) + if (wrapper.index > 1) { LoggerUtils.info("retryTime:" + (wrapper.index)); - int errCode = 0; - if (wrapper.throwable instanceof ApiException) { - ApiException exception = (ApiException) wrapper.throwable; - errCode = exception.getCode(); } if ((wrapper.throwable instanceof ConnectException - || wrapper.throwable instanceof SocketTimeoutException - || errCode == ApiException.ERROR.NETWORD_ERROR - || errCode == ApiException.ERROR.TIMEOUT_ERROR || wrapper.throwable instanceof SocketTimeoutException || wrapper.throwable instanceof TimeoutException) && wrapper.index < count + 1) { //如果超出重试次数也抛出错误,否则默认是会进入onCompleted