我正在做一个自定义的类,需要一个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上被问过,但我找不到任何适合这种情况的答案。
在Alamofire 5.1中,我们添加了一个 "DataRequest "类型的值。requestModifier
参数到顶层 request
方法,让你可以访问 URLRequest
将被执行。
在Alamofire 4中,你有一些不那么优雅的选择。一个直接的设置方法是用一个 RequestAdapter
将其设置为请求管道的一部分。另一个更复杂的选项是将顶层的 request
方法的个别参数(如头文件),到API的个别参数(如头文件)。URLRequestConvertible
值。这样你就可以完全控制 URLRequest
由Alamofire代表您执行。