【发布时间】:2023-03-16 22:00:01
【问题描述】:
我正在链接我的网络和本地 api 的调用。如果网络 api 无法获取数据,我将使用本地 api 调用来捕获它。但是,在网络和本地 api 都失败的情况下,我想向用户显示来自网络 api 而不是本地的错误。这就是我所拥有的:
remoteSource.fetchData()
.onErrorResumeNext(e -> localSource.fetchData())
.doOnSuccess(this::saveData)
我能想到的解决方案是将onErrorResumeNext 中捕获的 throwable 保存在链调用之外的单独变量中。但是,我使用的是 MVP 架构,这意味着它位于 model 层内。 presenter 层只会捕获最后一个错误,这是本地源的错误。
【问题讨论】:
标签: android rx-java2 rx-android android-mvp