我试图让Alamofire参与我的应用程序,并在第一个请求中遇到了以下问题(我设法成功使用了URLSession
)。Alamofire:'请求超时'在1秒内不管timoutIntervalForRequest
在执行请求时,在1-2秒内我在日志中看到-1001 The request timed out
,尽管我为会话设置了一个相对较长的时间间隔。
这是HttpSession
大气压:
class HttpSession {
static let instance = HttpSession()
let sessionManager: SessionManager?
private init() {
let conf = URLSessionConfiguration.default
conf.timeoutIntervalForRequest = 30
sessionManager = Alamofire.SessionManager(configuration: conf)
}
}
在这里,我提出请求:
HttpSession.instance.sessionManager!.request(url, method: .get, parameters: [:], encoding: JSONEncoding.default, headers: headers).responseJSON { response in
switch response.result {
case .success:
print("YAA!")
break
case .failure(let error):
print(error)
break
}
}
一个奇怪的事情说:当我试图之前和之后进行打印时看到的时间差,这些值的确有30秒不同,但在现实生活中需要1-2秒。我只在模拟器上测试过它。 要打印秒我用下面的代码段的两倍,则该请求之前,并在响应:
let date: Date = Date()
print(Calendar.current.component(.second, from: date))
任何帮助将理解,谢谢。
我试图设置它们,但面临同样的问题。 –