codecamp

OkHttps 取消请求的4种方式

  在 OkHttps 里取消请求共有 4 种 方式可选:

1、使用HttpCall#cancel()取消单个请求(适用于异步请求)

HttpCall call = http.async("/users/1").get();


System.out.println(call.isCanceled());     // false


boolean success = call.cancel();           // 取消请求


System.out.println(success);               // true
System.out.println(call.isCanceled());     // true

2、使用HttpTask#cancel()取消单个请求(适用于所有请求,since v1.0.4)

HttpTask<?> task = http.async("/users")
        .setOnResponse((HttpResult result) -> {
            // 响应回调
        });


task.get(); // 发起 GET 请求


// 取消请求,并返回是否取消成功
boolean canceled = task.cancel();   

3、使用HTTP#cancel(String tag)按标签批量取消请求(适用于所有请求)

http.async("/users")    //(1)
        .setTag("A")
        .get();

        
http.async("/users")    //(2)
        .setTag("A.B")
        .get();

        
http.async("/users")    //(3)
        .setTag("B")
        .get();

        
http.async("/users")    //(4)
        .setTag("B")
        .setTag("C")    // 从 v1.0.4 标签将以追加模式添加,等效于 setTag("B.C")
        .get();

        
http.async("/users")    //(5)
        .setTag("C")
        .get();


int count = http.cancel("B");     //(2)(3)(4)被取消(取消标签包含"B"的任务)


System.out.println(count);        // 输出 3

4、 使用HTTP#cancelAll()取消所有请求(适用于所有请求)(since v1.0.2)

http.cancelAll();   // 取消所有请求

如果觉得 OkHttps 还不错,就去点个 Star 吧,项目地址:


官方网站:http://okhttps.ejlchina.com/

OkHttps 实现生命周期绑定(for Android)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }