栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

改装2 / OkHttp:取消所有正在运行的请求

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

改装2 / OkHttp:取消所有正在运行的请求

更新: 现在,使用

Dispatcher
具有
cancelAll()
方法的OkHttp
3可以轻松实现这一点。调度程序是从返回的
OkHttpClient.dispatcher()

旧的解决方案: 这样做的唯一方法(我可以找到)是创建

OkHttpClient
Retrofit 的子类并与Retrofit一起使用。

class OkHttpClientExt extends OkHttpClient {    static final Object TAG_CALL = new Object();    @Override    public Call newCall(Request request) {        Request.Builder requestBuilder = request.newBuilder();        requestBuilder.tag(TAG_CALL);        return super.newCall(requestBuilder.build());    }}

下一行取消所有带有标签的请求

TAG_CALL
。由于上面的类
TAG_CALL
针对所有请求设置,因此所有请求均被取消。

retrofit.client().cancel(OkHttpClientExt.TAG_CALL);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595981.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号