在改装中取消呼叫:按标签2.0.0-beta2

时间:2016-05-18 09:14:49

标签: android retrofit okhttp

我使用com.squareup.retrofit:retrofit:2.0.0-beta2并遇到一些问题。 我想添加通过按下按钮关闭一些下载的可能性。所以我在OkHTTPClient中找到了 cancel(Object tag)方法。 我试图找到我可以放置此标签值但没有找到任何内容的地方。同时传递 null 作为参数根本不起作用。 有人可以帮忙告诉我在哪里可以贴标签或建议另一种方法吗?

1 个答案:

答案 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