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

2020-04-29 09:35 更新

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

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


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


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


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

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

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

全局下載監(jiān)聽(tīng)

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

            
        })
        .build();

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


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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)