【发布时间】:2018-02-27 22:21:57
【问题描述】:
我在一个库项目中使用 RxJava 和改造。一切正常,我在请求数据时得到了预期的结果。
@GET(Routes.ME)
fun getUserObservable(): Observable<User>
来自 API 类:
fun getUser(): Observable<User> {
return usersService.getUserObservable()
}
从使用这个库的主项目中,我得到这样的用户:
api.getUser().observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe({ user ->
println("Get user success : $user")
}, { error ->
println("Get user error : $error")
})
一切正常,但如果发生 API 错误,则 API 会发送给我们,例如:
{reason: "the reason of the error", details: "some details", type:"the type error"}
我想要的是明确地将此错误提供给收到此错误的前端,因为直到现在,当我从错误 Observable 中获取错误时,前端无法解析我要构建的此错误。所以我的目的是从我的库中解析这个错误,用提供的API json构建一个Error POJO,当前端出现错误时发送。如果错误不是来自 API,那么前面应该会得到正常的错误。
【问题讨论】:
-
为什么不用 rxKotlin 的 subscribeBy 呢?
-
你说得对,我可以,这将是下一步,但需要先解决我的问题
标签: android kotlin retrofit rx-java