- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在我的应用程序中使用 Alamofire,但在第一个请求中遇到了以下问题(我使用 URLSession
成功完成了)。
执行请求时,在 1-2 秒内我在日志中看到 -1001 The request timed out
,尽管我为 session 设置了相对较长的间隔。
这是 HttpSession
自动取款机:
class HttpSession {
static let instance = HttpSession()
let sessionManager: SessionManager?
private init() {
let conf = URLSessionConfiguration.default
conf.timeoutIntervalForRequest = 30
sessionManager = Alamofire.SessionManager(configuration: conf)
}
}
我在这里提出要求:
HttpSession.instance.sessionManager!.request(url, method: .get, parameters: [:], encoding: JSONEncoding.default, headers: headers).responseJSON { response in
switch response.result {
case .success:
print("YAA!")
break
case .failure(let error):
print(error)
break
}
}
值得一提的是:当我尝试打印前后时间以查看时差时,值确实相差 30 秒,但在现实生活中需要 1-2 秒。我只在模拟器上测试过它。为了打印秒数,我在请求之前和响应中使用了以下代码片段两次:
let date: Date = Date()
print(Calendar.current.component(.second, from: date))
任何帮助将不胜感激,谢谢。
最佳答案
如果你检查 NSURLSessionConfiguration 源代码,你会发现这些注释:
/* default timeout for requests. This will cause a timeout if no data is transmitted for the given timeout value, and is reset whenever data is transmitted. */ public var timeoutIntervalForRequest: NSTimeInterval
/* default timeout for requests. This will cause a timeout if a resource is not able to be retrieved within a given timeout. */
public var timeoutIntervalForResource: NSTimeInterval
你还需要设置这个值:
conf.timeoutIntervalForResource = 30
关于ios - Alamofire:无论 timoutIntervalForRequest 如何,1 秒内为 'The request timed out',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40963841/
我是一名优秀的程序员,十分优秀!