我正在使用Alamofire 4.0.1,我想为我的请求设置超时.我试过这个问题给出的解决方案:
在第一种情况下,它会抛出NSURLErrorDomain(正确设置超时):
let configuration = URLSessionConfiguration.default
configuration.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
}
}
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,超时不会被替换,仍然设置为60秒.
let manager = Alamofire.SessionManager.default
manager.session.configuration.timeoutIntervalForRequest = 10
manager.request("yourUrl", method: .post, parameters: ["parameterKey": "value"])
Run Code Online (Sandbox Code Playgroud)
我在ios 10.1中运行
我的代码:(它不起作用) …
我改变timeoutIntervalForRequest与
let manager = Alamofire.SessionManager.default
manager.session.configuration.timeoutIntervalForRequest = 3
manager.request(url).response {}
Run Code Online (Sandbox Code Playgroud)
但似乎没有用,有什么建议吗?