使用Alamofire [swift]为每个请求设置客户端超时?

Tro*_*yne 10 client timeout nsurlrequest swift alamofire

我正在尝试为Alamofire for Swift的每个请求设置一个客户端超时.首席架构师告诉我在NSURLRequest上设置这个,但我对如何在实践中真正做到这一点感到困惑.

做过这个的人可以举个例子吗?谢谢!

use*_*678 17

我认为这段代码可能有效.

var alamofireManager : Alamofire.Manager?

func some(){
  let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
  configuration.timeoutIntervalForResource = 2 // seconds

  self.alamofireManager = Alamofire.Manager(configuration: configuration)
  self.alamofireManager!.request(.GET, "http://example.com/")
    .response { (request, response, data, error) in

    }
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么是configuration.timeoutIntervalForResource而不是configuration.timeoutIntervalForRequest? (3认同)
  • 设置timeoutIntervalForRequest解决了我的超时问题.在此之前,对API的长时间请求超时. (2认同)