【发布时间】:2021-12-30 12:18:55
【问题描述】:
如何转换由 rxJava 中的 Observable 返回的错误? 现在我有了这个方法:
@Override
public Maybe<JsonObject> getUser(String token) {
return tokenManager.getTokenInfo(token) //returns a Single<UserInfo>
.flatMapMaybe(userInfo -> userRepo.findOne(userInfo));
}
行为是getTokenInfo 或findOne 传递的任何异常都会传播到此函数返回值的订阅者。是否可以将异常映射到其他东西?喜欢
@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());
}
【问题讨论】: