是否可以为每个请求设置不同的到期超时?
我找到的唯一方法是使用不同的NSURLSessionConfiguration创建一个新的NSURLSession并更改timeoutIntervalForResource
。与Alamofire等框架相同。
答案 0 :(得分:5)
你绝对可以做到这一点。您可以直接在NSMutableURLRequest
上设置值,该值可以传递到Alamofire。
let URL = NSURL(string: "https://httpbin.org/get")!
let mutableURLRequest = NSMutableURLRequest(URL: URL)
mutableURLRequest.timeoutInterval = 5.0
Alamofire.request(mutableURLRequest)
.responseJSON { response in
debugPrint(response)
}
您无法控制每个请求timeoutIntervalForResource
。 NSURLRequest
上的超时间隔属性相当于timeoutIntervalForRequest
上的NSURLSessionConfiguration
。更多详情here。
答案 1 :(得分:-1)
是的,你可以这样做 -
使用此代码
[[[NSURLSession sharedSession] configuration] setTimeoutForResource:30];
您必须在不同的视图控制器中更改setTimeForResource。