在Alamofire DataRequest上设置timeoutInterval。

问题描述 投票:0回答:1

我正在做一个自定义的类,需要一个Alamofire。DataRequest 在它的初始化器中,我想添加一个timeoutInterval。现在我想给它添加一个timeoutInterval,但我得到了编译错误的信息

类型'DataRequest'的值没有成员'timeoutInterval'。

这里是代码。

init(request: DataRequest, timeoutInterval: Double = 10) {
    request.timeoutInterval = timeoutInterval // <- compile error here
    self.request = request
}

显然是Alamofire DataRequest 没有这个属性。但有没有其他方法可以用这种方式指定请求的超时时间(最好不使用SessionManager)?URLRequest 有,所以应该是可以的,但我不知道怎么做。

我知道这个问题以前在Stack Overflow上被问过,但我找不到任何适合这种情况的答案。

swift alamofire nsurlrequest
1个回答
0
投票

在Alamofire 5.1中,我们添加了一个 "DataRequest "类型的值。requestModifier 参数到顶层 request 方法,让你可以访问 URLRequest 将被执行。

在Alamofire 4中,你有一些不那么优雅的选择。一个直接的设置方法是用一个 RequestAdapter 将其设置为请求管道的一部分。另一个更复杂的选项是将顶层的 request 方法的个别参数(如头文件),到API的个别参数(如头文件)。URLRequestConvertible 值。这样你就可以完全控制 URLRequest由Alamofire代表您执行。

© www.soinside.com 2019 - 2024. All rights reserved.