jeasonlzy / okhttp-OkGo

OkGo - 3.0 震撼来袭,该库是基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能
Apache License 2.0
10.59k stars 2.55k forks source link

OKgo取消请求后,callback仍然可能会回调。 #905

Open Freedomhxb opened 4 years ago

Freedomhxb commented 4 years ago

com.lzy.okgo.cache.policy.DefaultCachePolicy#onSuccess

 @Override
    public void onSuccess(final Response<T> success) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mCallback.onSuccess(success);
                mCallback.onFinish();
            }
        });
    }

当Okgo异步请求成功后,会回调上面的onSuccess方法,但是run方法中的不会立即执行,这个时候我在主线程执行了cancelTag操作后,过会上面的run方法还是会执行,所以上面的run方法是不是可以再次判断下当前请求是否取消吗?

AdminQQZ commented 4 years ago

我也遇见了。没看见可以设置tag的地方