如何为每个 NSURLRequest 设置不同的过期超时时间

How to set different expiration timeout for each NSURLRequest

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

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

是的,你可以这样做-

使用此代码

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

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

你绝对可以做到。您可以直接在可以传递到 Alamofire 的 NSMutableURLRequest 上设置值。

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)
    }

更新

您无法控制每个请求的 timeoutIntervalForResourceNSURLRequest 上的超时间隔 属性 等同于 NSURLSessionConfiguration 上的 timeoutIntervalForRequest。更多详情 here.