- 设置超时时间,必须将 Alamofire.SessionManager 的创建设置为属性,如果在方法内创建之后再发送网络请求,由于网络请求是异步的,一旦程序运行出了方法体,就释放了,这样设置的超时时间就无效了。
AlamofireManager.swift文件(网络管理工具类):
//MARK: - 属性
static var sharedSessionManager: Alamofire.SessionManager = {
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10//请求超时时间
return Alamofire.SessionManager(configuration: configuration)
}()
- 有些网络请求的时间要求与一般的网络请求不同, 更长或更短的超时时间,这时候需要重新给 sharedSessionManager 属性赋值:
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 5//请求超时时间
AlamofireManager.sharedSessionManager = Alamofire.SessionManager(configuration: configuration)
//...然后再进行网络请求
网友评论