Ios 阿拉莫菲尔5.0.0-beta3->;超时
使用Ios 阿拉莫菲尔5.0.0-beta3->;超时,ios,swift,alamofire,Ios,Swift,Alamofire,使用Alamofire 5,可以使用AF.request(:)函数完成请求,除非我使用 AF.request(_ urlRequest: URLRequestConvertible) 我知道,可以将timeoutInterval设置为urlRequest传递给Alamofire,但是如果我使用URLConvertibles的函数呢 public static func request(_ url: URLConvertible, method: Alamofire.HTTPMethod = .
Alamofire 5
,可以使用AF.request(:)
函数完成请求,除非我使用
AF.request(_ urlRequest: URLRequestConvertible)
我知道,可以将timeoutInterval
设置为urlRequest
传递给Alamofire
,但是如果我使用URLConvertibles
的函数呢
public static func request(_ url: URLConvertible, method: Alamofire.HTTPMethod = .get, parameters: Parameters? = nil, encoding: ParameterEncoding = URLEncoding.default, headers: Alamofire.HTTPHeaders? = nil, interceptor: RequestInterceptor? = nil) -> Alamofire.DataRequest
// or
public static func request<Parameters>(_ url: URLConvertible, method: Alamofire.HTTPMethod = .get, parameters: Parameters? = nil, encoder: ParameterEncoder = URLEncodedFormParameterEncoder.default, headers: Alamofire.HTTPHeaders? = nil, interceptor: RequestInterceptor? = nil) -> Alamofire.DataRequest where Parameters : Encodable
publicstaticfunc请求(url:urlconverable,method:Alamofire.HTTPMethod=.get,parameters:parameters?=nil,encoding:ParameterEncoding=URLEncoding.default,headers:Alamofire.HTTPHeaders?=nil,interceptor:RequestInterceptor?=nil)->Alamofire.DataRequest
//或
公共静态func请求(url:URLConverable,方法:Alamofire.HTTPMethod=.get,参数:parameters?=nil,编码器:ParameterEncoder=URLEncodedFormParameterEncoder.default,标头:Alamofire.HTTPHeaders?=nil,拦截器:RequestInterceptor?=nil)->Alamofire.DataRequest,其中参数:Encodable
当您传递单个URLRequest
组件时,无法设置超时,因为Alamofire的顶级不(也永远不会)覆盖整个URLRequest
参数范围。相反,最好对您的请求类型采用URLRequestConvertible
,无论是单独的值还是一个路由器
此外,您始终可以创建自己的顶级API,该API会接受您关心的所有参数,并将它们封装到
URLRequestConvertible
值中。我想我理解您告诉级别请求类型的意思。无论如何,我的问题是,当我们将AF函数与AF.URLconverable一起使用时,如何设置超时,因为它们有更多的选项(参数、可解码)?当您传递URLRequest
的组件时,您不能设置超时。您能澄清一下吗?URLRequest有自己的timeoutInterval参数,可以强制转换为URLRequestConvertible。顺便说一句,我已经测试了传递给Alamofire的URLRequest的超时时间间隔及其工作情况。