5

是否可以为每个请求设置不同的过期超时?

我发现的唯一方法是使用不同的 NSURLSessionConfiguration 创建一个新的 NSURLSession 并更改timeoutIntervalForResource. 像 Alamofire 这样的框架也是如此。

4

2 回答 2

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每个请求。超时间隔属性 onNSURLRequest等价timeoutIntervalForRequestNSURLSessionConfiguration。更多细节在这里

于 2015-10-18T23:35:46.713 回答
-1

是的,你可以这样做——

使用此代码

[[[NSURLSession sharedSession] configuration] setTimeoutForResource:30];

您只需更改不同视图控制器中的 setTimeForResource 即可。

于 2015-10-16T11:52:24.957 回答