取消请求的封装

最后更新于:2022-04-01 23:20:33

强烈建议在阅读本文之前阅读[取消请求](http://doc.nohttp.net/222886)章节。 如果你看了上面的文章,你会发现,取消请求虽然可以与`Activity`、`Fragment`的生命周期绑定,但是每个Activity和Fragment都这么写就显得有点麻烦了,所以我们这里把这些操作写在`BaseActivity`、`BaseFragment`中。 ## Base中的封装 在Base中提供一个请求的方法,具体参数请结合自己的业务和习惯封装。 ```java ... private Object cancelSign = new Object(); public void request(int what, Request request, OnResponseListener listener) { // 这里设置一个sign给这个请求。 request.setCancelSign(cancelSign); queue.add(this, what, request, listener); } @Override protected void onDestroy() { // 在组件销毁的时候调用队列的按照sign取消的方法即可取消。 queue.cancelBySign(cancelSign); super.onDestroy(); } ``` **推荐阅读** [取消请求的几种方式](http://doc.nohttp.net/222886) [队列详解与封装](http://doc.nohttp.net/222881)
';