Retrofit2+Rxjava2如何主动取消网络请求
2017-12-07 14:21
1636 查看
近期在新项目中使用了Retrofit2+Rxjava2+Mvp的框架,在搭建的过程中想到一个问题,困扰了我两天。Retrofit2+Rxjava2如何主动去取消网络请求。
在单独使用Retrofit2中,我们可以通过调用Call的cancel();方法 主动去取消网络请求,但是当。Retrofit2+Rxjava2返回Observable 或者 Flowable 时我们如何主动去取消网络请求呢?
在刚学习Rxjava2时,我们都知道 通过调用 Disposable 的 dispose()方法能主动断开 Observable和Observer之间的连接,但是能不能通过这个类去主动取消网络请求呢? 答案当然是 :可以的!!
来看看Retrofit2在搭配Rxjava2时的基本配置
点开RxJava2CallAdapterFactory.create()我们看看源码:
在get方法中会返回RxJava2CallAdapter,继续点击源码:
Observable/Flowable
没错,我们看到了我们熟悉的Observable和Flowable这就是Retrofit2+Rxjava2搭配所返回的Observable/Flowable 并绑定了Call类。我们看看这个Observable/Flowable到底和Call类干了什么勾当:点开同步执行的CallEnqueueObservable:
发现在dispose方法里已经调用了 call.cancle();
至此困扰了两天的疑惑就此解开!!MMP
在单独使用Retrofit2中,我们可以通过调用Call的cancel();方法 主动去取消网络请求,但是当。Retrofit2+Rxjava2返回Observable 或者 Flowable 时我们如何主动去取消网络请求呢?
在刚学习Rxjava2时,我们都知道 通过调用 Disposable 的 dispose()方法能主动断开 Observable和Observer之间的连接,但是能不能通过这个类去主动取消网络请求呢? 答案当然是 :可以的!!
来看看Retrofit2在搭配Rxjava2时的基本配置
Retrofit2+ Rxjava2
点开RxJava2CallAdapterFactory.create()我们看看源码:
在get方法中会返回RxJava2CallAdapter,继续点击源码:
Observable/Flowable
没错,我们看到了我们熟悉的Observable和Flowable这就是Retrofit2+Rxjava2搭配所返回的Observable/Flowable 并绑定了Call类。我们看看这个Observable/Flowable到底和Call类干了什么勾当:点开同步执行的CallEnqueueObservable:
发现在dispose方法里已经调用了 call.cancle();
至此困扰了两天的疑惑就此解开!!MMP
相关文章推荐
- rxjava2 与 retrofit 网络请求
- AFNetworking3.0 如何取消单个网络请求
- 如何实现一个独立于网络请求框架的缓存(与retrofit无缝衔接)
- Retrofit2+RxJava2进行网络请求
- Android网络请求使用Retrofit+OkHttp,如何获取请求参数 ?
- Rxjava+Retrofit取消网络请求
- Android用Retrofit搭建通用网络请求模块
- 最流行的网络请求框架Rxjava2+Retrofit完美封装
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比 标签: androidVolleyOkhttpRetrofit网络请求框架
- 一个App带你学会Retrofit2.0,麻麻再也不用担心我的网络请求了!
- Retrofit是一个不错的网络请求库
- Retrofit与RxJava的网络请求工具类
- Retrofit2.0+ RxJava 优雅的取消重复避免并取消请求(十一)
- 从源码梳理Retrofit网络请求过程
- Retrofit网络请求框架
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- 基于Retrofit扩展一个统一处理网络请求的CallBack
- Activity停止的时候,取消部分未完成的网络请求
- 【Android】Retrofit网络请求参数注解,@Path、@Query、@QueryMap...
- Retrofit,OkHttp拦截器,RxJava封装请求网络