在Alamofire中设置超时
,它会抛出 (正确设置了超时):
let configuration = URLSessionConfiguration.defaultconfiguration.timeoutIntervalForRequest = 10
let sessionManager = Alamofire.SessionManager(configuration: configuration)
sessionManager.request("yourUrl", method: .post, parameters: ["parameterKey": "value"])
.responseJSON {
response in
switch (response.result) {
case .success:
//do json stuff
break
case .failure(let error):
if error._code == NSURLErrorTimedOut {
//timeout here
}
print("\n\nAuth request failed with error:\n \(error)")
break
}
}
,超时不会被替换,而是仍设置为60秒。
let manager = Alamofire.SessionManager.defaultmanager.session.configuration.timeoutIntervalForRequest = 10
manager.request("yourUrl", method: .post, parameters: ["parameterKey": "value"])
不起作用)
let configuration = URLSessionConfiguration.default configuration.timeoutIntervalForRequest = 10 // seconds
configuration.timeoutIntervalForResource = 10
let alamoFireManager = Alamofire.SessionManager(configuration: configuration)
alamoFireManager.request("my_url", method: .post, parameters: parameters).responseJSON { response in
switch (response.result) {
case .success:
//Success....
break
case .failure(let error):
// failure...
break
}
}
Alamofire
4.3.0设置超时引发NSURLErrorDomain错误#1931
回答:
基于@ kamal-thakur响应。
:
var request = URLRequest(url: NSURL.init(string: "YOUR_URL") as! URL)request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.timeoutInterval = 10 // 10 secs
let postString = "param1=\(var1)¶m2=\(var2)"
request.httpBody = postString.data(using: .utf8)
Alamofire.request(request).responseJSON {
response in
// do whatever you want here
}
以上是 在Alamofire中设置超时 的全部内容, 来源链接: utcz.com/qa/423580.html