在 Alamofire 中更改超时时间

Posted

技术标签:

【中文标题】在 Alamofire 中更改超时时间【英文标题】:Changing timeout time in Alamofire 【发布时间】:2015-11-29 16:13:16 【问题描述】:

如何更改超时间隔时间以在 Alamofire 中获得长时间运行的 API 响应。

我尝试过以下代码:

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.timeoutIntervalForRequest = 300.0 // seconds    
let alamofireManager = Alamofire.Manager(configuration: configuration)

alamofireManager.request(method, urlString, parameters: parameters)
        .authenticate(user: primaryUserName, password: primaryPassword)
        .validate(contentType: ["application/json"])
        .responseJSON 

            alamofireResponse in

            if alamofireResponse.response == nil 

               print("nil response")
            

但它没有得到任何数据。响应为零。现在可以做什么?谢谢。

【问题讨论】:

你能解决这个问题吗? 【参考方案1】:

您首先需要使用 3 秒超时创建自己的会话配置,然后创建自定义 Manager 实例。更多信息可以在README找到。

【讨论】:

感谢您的回复。我在上面做的对吗? 这个答案不正确 - 您已经在使用客户 SessionManager 并修改了超时值。

以上是关于在 Alamofire 中更改超时时间的主要内容,如果未能解决你的问题,请参考以下文章

如何在 alamofire 5.0.2 版本中设置自定义超时

Alamofire:基于配置的 SessionManager 的超时没有改变

在 Alamofire 4.0 中初始化 SessionManager

为啥我无法从 Alamofire 获取请求结果

Alamofire 请求大约需要 10 秒

强制 Alamofire 在主线程上做所有事情?