OkHttps 全局事件監(jiān)聽

2020-04-29 09:35 更新

全局回調(diào)監(jiān)聽

HTTP http = HTTP.builder()
        .responseListener((HttpTask<?> task, HttpResult result) -> {
            // 所有請求響應(yīng)后都會(huì)走這里


            return true; // 返回 true 表示繼續(xù)執(zhí)行 task 的 OnResponse 回調(diào),false 表示不再執(zhí)行
        })
        .completeListener((HttpTask<?> task, State state) -> {
            // 所有請求執(zhí)行完都會(huì)走這里


            return true; // 返回 true 表示繼續(xù)執(zhí)行 task 的 OnComplete 回調(diào),false 表示不再執(zhí)行
        })
        .exceptionListener((HttpTask<?> task, IOException error) -> {
            // 所有請求發(fā)生異常都會(huì)走這里


            return true; // 返回 true 表示繼續(xù)執(zhí)行 task 的 OnException 回調(diào),false 表示不再執(zhí)行
        })
        .build();

  全局回調(diào)監(jiān)聽與攔截器的異同:

  • 攔截器可以添加多個(gè),全局回調(diào)監(jiān)聽分三種,每種最多添加一個(gè)
    攔截器處的理時(shí)機(jī)在請求前和響應(yīng)后,全局回調(diào)監(jiān)聽只在響應(yīng)后,并且晚于攔截器
    全局回調(diào)監(jiān)聽可以 阻斷(return false)某個(gè)請求的具體回調(diào),而攔截器不能

全局下載監(jiān)聽

HTTP http = HTTP.builder()
        .downloadListener((HttpTask<?> task, Download download) -> {
            // 所有下載在開始之前都會(huì)先走這里
            Ctrl ctrl = download.getCtrl();         // 下載控制器

            
        })
        .build();

如果覺得 OkHttps 好用,就去點(diǎn)個(gè) Star 吧,項(xiàng)目地址:


官方網(wǎng)站:http://okhttps.ejlchina.com/

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號