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

2020-04-29 09:35 更新

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

  1. HTTP http = HTTP.builder()
  2. .responseListener((HttpTask<?> task, HttpResult result) -> {
  3. // 所有請求響應(yīng)后都會走這里
  4. return true; // 返回 true 表示繼續(xù)執(zhí)行 task 的 OnResponse 回調(diào),false 表示不再執(zhí)行
  5. })
  6. .completeListener((HttpTask<?> task, State state) -> {
  7. // 所有請求執(zhí)行完都會走這里
  8. return true; // 返回 true 表示繼續(xù)執(zhí)行 task 的 OnComplete 回調(diào),false 表示不再執(zhí)行
  9. })
  10. .exceptionListener((HttpTask<?> task, IOException error) -> {
  11. // 所有請求發(fā)生異常都會走這里
  12. return true; // 返回 true 表示繼續(xù)執(zhí)行 task 的 OnException 回調(diào),false 表示不再執(zhí)行
  13. })
  14. .build();

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

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

全局下載監(jiān)聽

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

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


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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號