代码如下,但我无法弄清楚为什么即使在10秒过后它也没有超时。任何的想法?
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:sourceURL];
[request setTimeOutSeconds:5.0];
[request setDelegate:self];
[request setCompletionBlock:^{
//some code
}];
[request setFailedBlock:^{
//some code
}];
self.currentRequest_ = request;
[self.currentRequest_ startAsynchronous];
- (void)requestFailed:(ASIHTTPRequest *)request {
NSLog(@"FAILED");
}
答案 0 :(得分:1)
或许请求成功完成了吗?
其他可能性是至少每5秒钟收到一次数据,但尚未收到完整数据。如果超时期限内没有收到任何内容,ASI将只会超时,因此如果数据不断到达,请求将不会超时。
答案 1 :(得分:0)
我认为你不会调用-[ ASIHTTPRequest startAsynchronous]
...而是将请求(NSOperation
的子类)添加到ASINetworkQueue
(NSOperationQueue
的子类)。 HTH