如何在 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());
}
uj5u.com熱心網友回復:
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()));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/398270.html
上一篇:更新到最新的SpringBoot版本spring-boot-starter-parent2.6.2后,我的測驗停止執行
