当对我的外部服务的外部http请求失败时,我使用retryWhen。问题是我在用
RxHelper.toObservable(httpClient.request(method, url))为了得到我能观察到的反应,并且因为内部使用ReadStreamAdapter,我不能使用retryWhen,因为它是抱怨的。
java java.lang.IllegalStateException: Request already complete这里有一个代码示例:
RxHelper.toObservable(httpClient.request(method, url))
.retryWhen(new ServiceExceptionRetry())
.subscribe(f -> replySuccess(eventMsg, event, f), t -> handleError(t, eventMsg, event));知道如何做到这一点吗?
发布于 2016-01-29 22:30:27
每次都可以使用defer从method和client创建一个可观察到的:
Observable.defer(() -> RxHelper.toObservable(httpClient.request(method, url)))
.retryWhen(new ServiceExceptionRetry())
.subscribe(f -> replySuccess(eventMsg, event, f), t -> handleError(t, eventMsg, event));https://stackoverflow.com/questions/35087712
复制相似问题