在Alamofire中设置超时

,它会抛出 (正确设置了超时):

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

}

}

,超时不会被替换,而是仍设置为60秒。

let manager = Alamofire.SessionManager.default

manager.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)&param2=\(var2)"

request.httpBody = postString.data(using: .utf8)

Alamofire.request(request).responseJSON {

response in

// do whatever you want here

}

以上是 在Alamofire中设置超时 的全部内容, 来源链接: utcz.com/qa/423580.html

回到顶部