RxJava+Retrofit,在联网返回后如何先进行统一的判断?

最近在学习rxjava,首先用于联网部分。数据为json格式。 json格式固定为: { "ResultMessage":null, "ResultCode":0, "Data":{} } 然后我希望联网返回数据先行进行ResultCode判断 起先我想要在rxjava的“链”中throw 一个自定义的Error,让Subscriber的onError方法捕捉到。结果发现行不通。不允许这样写。 用single操作符,里面写上 .single(new Func1<LevelListBean, Boolean>() { @Override public Boolean call(LevelLis…
关注者
179
被浏览
13425
可以这么做.
Observable<Result<Student>> result = getGank().subscribeOn(io).share();
 result.filter(m->m.code==200).map(Func)
.observeOn(mianthread).subscribe(action);
result.filter(m->m.code!=200).map(Func)
.observeOn().subscriber();
`比上面的答案好的一个地方在于可能是线程可以更加的灵活.
如果是实现使用的`retrofit2`还可以帮助你做其他的事.更好的代码的可以看看这个项目github.com/JakeWharton/