RxSwift 错误处理与调度器详解
1. 错误处理
1.1 重试机制
当禁用网络连接并进行搜索时,日志会显示重试信息:
== retrying after 1 seconds ==
... network ...
== retrying after 2 seconds ==
... network ...
== retrying after 3 seconds ==
... network ...
通过 retryWhen 操作符可以实现复杂的退避策略,根据原始错误可观察对象来决定重试逻辑。
1.2 自定义错误
RxCocoa 返回的错误比较通用,例如 HTTP 404 和 502 错误处理方式相似。为了能更细致地处理不同错误,可创建自定义错误。
1.2.1 创建自定义错误
在 ApiController.swift 中定义错误枚举:
enum ApiError: Error {
case cityNotFound
case serverFailure
}
在 buildRequest(...) 方法中注入错误检查:
return session.rx.response(req
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



