我知道改造会自动重试故障,但我想检查一个特定的错误.如果错误是由某个HTTP代码引起的,我需要在修改它之后重试该请求.
这可以使用同步调用轻松完成,但我正在进行异步调用(通过传递回调).当我在回调中得到错误时,我想重试请求 - 但我只有RetrofitError对象(我丢失了请求体).
我有多个请求从同一个活动(同时)进行,所以我避免保存所有请求并在成功时使它们无效.
有没有更好的方法来达到这个要求?
如果您使用OkHttp作为您的HttpClient并且已更新为Retrofit>=1.9.0那么您可以使用新的Interceptor。具体来说,应用程序拦截器将让您retry and make multiple calls.
您可以查看我在类似问题上发布的用于处理过期令牌的示例伪代码。
另请注意,根据此 GitHub 票证Retrofit 2.0会有。这将消除对 的依赖,但我仍然建议使用它。InterceptorsOkHttp
| 归档时间: |
|
| 查看次数: |
9280 次 |
| 最近记录: |