我試圖讓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))
任何幫助將理解,謝謝。
我試圖設置它們,但面臨同樣的問題。 –