我需要在for循环中进行一系列http异步请求调用。但是之后我需要等待下载完成才能进行响应,然后再进行下一个请求而不会崩溃。所以使用NSNotification(或其他)如何处理这个问题。一系列http异步请求调用
0
A
回答
0
当你做一个异步请求时,你不需要等待。但是,您需要正确处理这些响应。您可以检查目前似乎是SO上的开发人员最喜欢的ASIHttpRequest库。 如果你必须等待回应,那么你不会异步执行。
即将使用NSNotification,更好的更清洁和更简单的方法将是使用协议。这样您可以实现委托并在每次调用委托方法时向您发送下一个请求。
0
您希望在后台运行多个串行请求,并等待每个请求在下一个开始之前完成。这与在后台运行其他任何东西没有区别。下面是我掀起了:
[self performSelectorInBackground:@selector(runRequests) ...];
- (void)runRequests
{
for (int i = 0; i < self.urls.count; i++) {
NSURL *url = [self.urls objectAtIndex:i];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request startSynchronous]; // Note: not asynchronous
// Handle response ...
ALog(@"%@ completed", url);
}
[[NSNotificationCenter defaultCenter]
postNotificationName:@"all requests completed!" object:nil];
}
我使用ASIHTTRequest这里,但使用的NSURLRequest作品一样好在这种情况下。重要的是请求运行完成。
0
可以通过使用线程如下做
[NSThread detachNewThreadSelector:@selector(myMethod1)toTarget:自withObject:无];
[NSThread detachNewThreadSelector:@selector(myMethod2)toTarget:self withObject:nil];
[NSThread detachNewThreadSelector:@selector(myMethod3)toTarget:self withObject:nil];
等等........... 您可以异步地在这些方法中传递您的请求。
相关问题
- 1. 将一系列同步AJAX请求转换为异步请求
- 2. 异步HTTP请求,排队请求
- 3. 异步抽象HTTP请求
- 4. c#异步http请求
- 5. angular2异步http请求
- 6. 异步http请求服务
- 7. Angular2异步HTTP请求
- 8. Objective-C异步http请求
- 9. 角度异步http请求
- 10. 使用GIO的异步HTTP请求
- 11. 异步HTTP请求在通用列表中抛出IndexOutOfRange异常
- 12. ASP.NET异步请求回调
- 13. 异步HTTP请求与新线程上的HTTP请求
- 14. 使用netty4异步调用链接HTTP请求响应
- 15. 链的一系列异步调用
- 16. Clojure的HTTP-KIT陷在多个异步请求调用
- 17. PHP中的异步HTTP请求
- 18. 黑莓异步HTTP请求 - 如何?
- 19. python - 异步处理HTTP请求
- 20. 多个异步http获取请求
- 21. ruby中的异步http请求
- 22. 与ruby的异步HTTP请求
- 23. 批量http请求的异步任务
- 24. Web Api中的异步HTTP请求
- 25. c中的异步http请求#
- 26. 狂饮异步HTTP请求池
- 27. 在java中等待异步http请求
- 28. 如何使异步HTTP POST请求
- 29. PHP有响应的异步HTTP请求
- 30. Node.js从HTTP请求异步返回