[英]How do I handle response errors using with Retrofit and RxJava/RxAndroid?
[英]How do I map errors in rxJava?
如何转换 rxJava 中的 Observable 返回的错误? 现在我有这个方法:
@Override
public Maybe<JsonObject> getUser(String token) {
return tokenManager.getTokenInfo(token) //returns a Single<UserInfo>
.flatMapMaybe(userInfo -> userRepo.findOne(userInfo));
}
行为是getTokenInfo
或findOne
传递的任何异常都会传播到此函数返回值的订阅者。 是否有可能 map 例外情况? 喜欢
@Override
public Maybe<JsonObject> getUser(String token) {
return tokenManager.getTokenInfo(token)
mapError(exc -> new AuthException("invalid token")) //don't let subscriber get raw exc
.flatMapMaybe(userInfo -> userRepo.findOne(userInfo))
.mapError(exc -> new NetworkException());
}
将onErrorResumeNext
与所需异常的error
源一起使用:
return tokenManager.getTokenInfo(token)
.onErrorResumeNext(exc -> Single.error(new AuthException("invalid token")))
.flatMapMaybe(userInfo -> userRepo.findOne(userInfo))
.onErrorResumeNext(exc -> Maybe.error(new NetworkException()));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.