android - 与 RxJava 并行调用独立的网络调用并处理错误
问题描述
我正在尝试调用多个网络调用(总共 5 个),每个都独立于其他。我知道如何使用 RxJava 调用链式网络调用。但是通过链式调用,如果调用第 3 次或第 4 次网络调用出错,则不会执行其余调用。所以我希望其余的网络调用即使在以前的调用失败时也能继续执行。有没有办法解决这种情况?
解决方案
是的,有,你可以使用 onErrorResumeNext。我的代码示例:
primaryMenuFetcher.getMenu()
.observeOn(uiScheduler)
.flatMap { menuItems ->
onView {
primaryMenu = menuItems
setPrimaryMenuList(primaryMenu)
}
return@flatMap model.getPromotions()
}
.onErrorResumeNext { return@onErrorResumeNext model.getPromotions() }
.observeOn(uiScheduler)
.doFinally { onView { hideProgressBar() } }
.subscribe({ fetchedLeagues ->
onView {
featuredLeagues = fetchedLeagues
showPopularLeagues()
setPopularLeaguesList(featuredLeagues)
}
}, {
showError()
})
还有其他 Rx2 错误处理选项。参考文档
推荐阅读
- python - 服务器命令提示符中的 Flask Socket IO 回调消息
- python - 在程序中遇到 KeyError
- snowflake-cloud-data-platform - Snowflake - 根据暂存区的主键选择唯一行
- c# - 如何在 C# 中在运行时向对象添加属性?
- odoo - 如何禁用odoo日历中的天数?
- php - 将 $_SERVER['HTTP_REFERER'] 与多个引用者一起使用
- r - 创建一个只计算某个逻辑值并为重复次数提供相同数量的计数器
- python - Django Google App Engine 上传大于 32mb 的文件
- c# - 如何在 TreeView 或 HederedItemsControl 中添加格式化的子组和组总计
- java - sun HttpServer 是否有类似会话的东西?