使用retrofit2+rxjava1进行网络请求。在使用retryWhen()进行延迟重试时
@Override
public Observable<?> call(Observable<? extends Throwable> attempts) {
return attempts
.flatMap(new Func1<Throwable, Observable<?>>() {
@Override
public Observable<?> call(Throwable throwable) {
if (++retryCount <= maxRetries) {
if (interval > 0) {
retryDelaySecond = retryDelaySecond + interval;
}
return Observable.timer(retryDelaySecond,
TimeUnit.SECONDS);
}
return Observable.error(throwable);
}
});
}
如果在重试过程中断一下网再恢复,就会出现不触发回调了,永远处于订阅中,但其实网络请求已经结束了。一直断网或者一直有网就是正常的,求指教啥原因啊,如何解决