【发布时间】:2018-06-08 01:01:16
【问题描述】:
我正在尝试像 Alamofire 页面中的示例一样使请求重试器,但我收到此错误:
这里是请求重试代码:
public typealias RequestRetryCompletion = (_ shouldRetry: Bool, _ timeDelay: TimeInterval) -> Void
public protocol RequestRetrier {
func should(_ manager: SessionManager, retry request: Request, with error: Error, completion: @escaping RequestRetryCompletion)}
class RequestRetryHandler: RequestRetrier {
public func should(_ manager: SessionManager, retry request: Request, with error: Error, completion: @escaping RequestRetryCompletion) {
if let response = request.task?.response as? HTTPURLResponse, response.statusCode == 503 {
completion(true, 10.0) // retry after 1 second
} else {
completion(false, 0.0) // don't retry
}
}}
这就是错误发生的地方:
let manager = Alamofire.SessionManager.default
manager.retrier = RequestRetryHandler() as? RequestRetrier
【问题讨论】:
标签: ios swift networking alamofire