我使用com.squareup.retrofit:retrofit:2.0.0-beta2并遇到一些问题。 我想添加通过按下按钮关闭一些下载的可能性。所以我在OkHTTPClient中找到了 cancel(Object tag)方法。 我试图找到我可以放置此标签值但没有找到任何内容的地方。同时传递 null 作为参数根本不起作用。 有人可以帮忙告诉我在哪里可以贴标签或建议另一种方法吗?
答案 0 :(得分:2)
Retrofit2也有cancel()
方法。你可以用它。这是一个例子:
Call<ResponseBody> call =
downloadService.downloadFileWithDynamicUrlSync(fileUrl);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
Log.d(TAG, "request success");
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.e(TAG, "request failed");
}
});
// something happened, for example: user clicked cancel button
call.cancel();
请注意,如果您取消请求,则Retrofit会将其归类为失败&amp;致电onFailure()
。
如果您有兴趣,请进一步阅读:https://futurestud.io/blog/retrofit-2-cancel-requests