这是苹果文档关于NSURLSessionTask类的“暂停”方法的说明:
好的。所以我正在运行以下简单代码:任务在暂停期间不会产生任何网络流量,并且不会受到超时限制。
let url = NSURL(string: "http://httpbin.org/delay/10")!
let urlRequest = NSURLRequest(URL: url)
self.task = NSURLSession.sharedSession().dataTaskWithURL(urlRequest.URL!, completionHandler: {
data, response, error in print("completion ERROR \(error)")
})
self.task.resume()
print("Start")
delay(5, closure: {
self.task.suspend()
print("Suspend")
})
delay
函数只是对dispatch_after
的简单封装,而对http://httpbin.org/delay/10
的请求将在10秒后得到响应。在等待响应期间,我暂停了任务。但这并不起作用。在60秒内,完成块被调用并报告超时错误。有人可以解释一下问题出在哪里吗?
dispatch_after
的包装器吗? - Ryan H.