ASIHTTP Запрос тайм-аута не работает
Код следующий, однако я не могу понять, почему он не истекает даже после того, как прошло 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");
}
2 ответа
Решение
Возможно, запрос успешно завершен?
Другая возможность состоит в том, что данные были получены по крайней мере каждые 5 секунд, но полные данные еще не были получены. Время ожидания истекает только в том случае, если в течение периода ожидания ничего не получено, поэтому, если данные постоянно поступают, запрос не истечет.
Я не думаю, что ты звонишь -[ ASIHTTPRequest startAsynchronous]
... Вместо этого добавьте запрос (который является подклассом NSOperation
) к ASINetworkQueue
(подкласс NSOperationQueue
). НТН