小项目中为了减小体积和精简代码,没有使用rxJava retrofit okhttp这样的组合,但是依然要解决一个问题就是Token过期问题,这个并不是什么很难的问题,以前是使用别人写好的框架,今天比葫芦画瓢自己用rxjava 解决token过期问题。
网络请求部分未封装,你可以随意用任何框架请求 。
需求是同时N个网络请求,(一个请求也适用。)1,2,3一齐发过来,如果1成功了2,3没有成功我需要请求新token,并添加到2,3中,然后继续2,3请求。例如下图的日志:
核心代码如下:
/**
* token 001 代表老的token
* token 值为002代表新token
*/
public static void mains() {
SharedPreferencesUtil.putString("token","001");
RequsetBean[] list = new RequsetBean[]{new RequsetBean("1"), new RequsetBean("2"), new RequsetBean("3")};
Observable.fromArray(list)
.filter(new Predicate<RequsetBean>() {
@Override