问题描述
在执行多个 HTTP 调用时,我注意到 URLSession 上出现了一些奇怪的行为。据我所知,URLSession 数据任务过去常常在网络连接不可用时立即抛出错误(错误 -1009 互联网连接似乎处于脱机状态)。
我现在也在执行网络请求,在飞行模式下执行请求时,请求会在超时之前运行,然后才会失败。我尝试创建一个应该防止这种情况的自定义配置,但这不起作用。如何重新启用或配置在没有连接时请求立即崩溃的行为?
let url = URL(string: "https://www.google.com/")!
let config = URLSessionConfiguration.default
config.waitsForConnectivity = false
config.timeoutIntervalForRequest = 2
config.timeoutIntervalForResource = 0
URLSession(configuration: config).dataTask(with: url) { d,r,e in
print(d?.count,(r as? HTTPURLResponse)?.statusCode,e?.localizedDescription)
}.resume()
configuration documentation 似乎不一致或不正确。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)