Art*_*tem 2 android rx-java retrofit
我是RxJava的新手,但我喜欢它.现在我没有什么问题.我正在使用RxJava+ Retrofit.
如果我有用户的有效令牌,我会收到API的响应,但如果令牌无效,我必须刷新令牌并再次尝试发出请求.
有效令牌:
令牌无效:
If response_code == 403,需要刷新令牌Else - 完成如何使用RxJava?
试试这个有我的知识
service.normalRequest()
.flatMap( new Func1<Response, Observable<Response>>() {
@Override
public Observable<Response> call(Response response) {
if (response.code() == 403) {
return service.refreshToken(refreshRequest)
.flatMap(new Func1<Response, Observable<Response>>() {
@Override
public Observable<Response> call(Response response) {
return service.normalRequest();
}
});
} else {
return Observable.just(response);
}
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
new Subscriber<Response>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Response response) {
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2649 次 |
| 最近记录: |