Alamofire 设置请求超时

如何设置请求时长。 我们可以通过查看官方使用文档找到答案。
首先我们来看下官方使用文档关于请求时长的截图

Snipaste_2020-04-22_17-14-39.png

阅读文档我们发现,其实源码方法最后一个参数requestModifier这个闭包就可以设置我们URLRequest的一些参数例如:请求超时时长

open func request(_ convertible: URLConvertible,
                      method: HTTPMethod = .get,
                      parameters: Parameters? = nil,
                      encoding: ParameterEncoding = URLEncoding.default,
                      headers: HTTPHeaders? = nil,
                      interceptor: RequestInterceptor? = nil,
                      requestModifier: RequestModifier? = nil) -> DataRequest {
        let convertible = RequestConvertible(url: convertible,
                                             method: method,
                                             parameters: parameters,
                                             encoding: encoding,
                                             headers: headers,
                                             requestModifier: requestModifier)

        return request(convertible, interceptor: interceptor)
    }

如何使用

/// timeoutInterval传递超时时间
AF.request(requestUrl, method: .post, parameters: parameters, headers: headers, requestModifier: { $0.timeoutInterval = 5 }).responseJSON { (response) in
    /// 这里是处理返回数据的逻辑
}

我们也可以使用尾随闭包的方式传递超时时长

AF.request(requestUrl, method: .post, parameters: parameters, headers: headers){ urlRequest in
    /// 这个闭包可以设置URLRequest一些相关的参数
    /// 请求超时时间
    urlRequest.timeoutInterval = 15
}.responseJSON { (response) in
    /// 这里是处理返回数据的逻辑
}

以上两种方法看个人喜好选择使用。
总结:还是官方文档好,所以大家要多读,大家加油

你可能感兴趣的:(Alamofire 设置请求超时)