OkHttps 取消請求的4種方式

2020-04-29 09:36 更新

  在 OkHttps 里取消請求共有 4 種 方式可選:

1、使用HttpCall#cancel()取消單個(gè)請求(適用于異步請求)

  1. HttpCall call = http.async("/users/1").get();
  2. System.out.println(call.isCanceled()); // false
  3. boolean success = call.cancel(); // 取消請求
  4. System.out.println(success); // true
  5. System.out.println(call.isCanceled()); // true

2、使用HttpTask#cancel()取消單個(gè)請求(適用于所有請求,since v1.0.4)

  1. HttpTask<?> task = http.async("/users")
  2. .setOnResponse((HttpResult result) -> {
  3. // 響應(yīng)回調(diào)
  4. });
  5. task.get(); // 發(fā)起 GET 請求
  6. // 取消請求,并返回是否取消成功
  7. boolean canceled = task.cancel();

3、使用HTTP#cancel(String tag)按標(biāo)簽批量取消請求(適用于所有請求)

  1. http.async("/users") //(1)
  2. .setTag("A")
  3. .get();
  4. http.async("/users") //(2)
  5. .setTag("A.B")
  6. .get();
  7. http.async("/users") //(3)
  8. .setTag("B")
  9. .get();
  10. http.async("/users") //(4)
  11. .setTag("B")
  12. .setTag("C") // 從 v1.0.4 標(biāo)簽將以追加模式添加,等效于 setTag("B.C")
  13. .get();
  14. http.async("/users") //(5)
  15. .setTag("C")
  16. .get();
  17. int count = http.cancel("B"); //(2)(3)(4)被取消(取消標(biāo)簽包含"B"的任務(wù))
  18. System.out.println(count); // 輸出 3

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

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

如果覺得 OkHttps 還不錯(cuò),就去點(diǎn)個(gè) Star 吧,項(xiàng)目地址:


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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號