gpt4 book ai didi

swift - Alamofire:SessionManager 的超时不会根据配置而改变

转载 作者:行者123 更新时间:2023-11-30 11:04:48 29 4
gpt4 key购买 nike

这是我在设置 SessionManager 时尝试更改超时长度的代码:

private var defaultSessionManager: Alamofire.SessionManager = {
let config = URLSessionConfiguration.default
config.httpMaximumConnectionsPerHost = 10
config.timeoutIntervalForRequest = TimeInterval(120)
return Alamofire.SessionManager(configuration: config)
}()

但是,请求的超时时间始终为 60 秒(这里是 iOS 工具 netfox 的屏幕截图):

Netfox screenshot of a request

我还尝试配置 timeoutIntervalForResource 也没有成功。
这不是通过 SessionManager 配置请求超时长度的正确方法吗?如果是这样,我该怎么做

最佳答案

您需要同时设置timeoutIntervalForRequesttimeoutIntervalForResource 使其按预期工作。这是我目前正在使用的,

extension SessionManager {

/// A `SessionManager` to have a request timeout of 2 minutes.
static let customDelayed: SessionManager = {
let secondsInOneMinute = 60
let numberOfMinutesForTimeout = 2
let timoutInterval = TimeInterval(numberOfMinutesForTimeout * secondsInOneMinute)

let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = timoutInterval
configuration.timeoutIntervalForResource = timoutInterval
return SessionManager(configuration: configuration)
}()
}

关于swift - Alamofire:SessionManager 的超时不会根据配置而改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52845214/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com