回答
Yups,ASIHttpRequest一次可以处理多个请求。请参阅帮助documentation并注意这一部分。
使用队列
这个例子做同样的事情再次 ,但我们已经创建了一个 NSOperationQueue对我们的要求。
使用一个NSOperationQueue(或 ASINetworkQueue,见下文)为您提供了异步 请求 更多的控制。当使用队列时,只有 某些数量的请求可以同时在 上运行。如果您在队列的 maxConcurrentOperationCount属性中添加更多的 请求,则 请求将等待其他人在 完成之前完成。
(IBAction为)grabURLInTheBackground:(ID)发送方 {如果{ [自setQueue:[[[NSOperationQueue的alloc] INIT]自动释放]]([自队列]!); } NSURL * url = [NSURL URLWithString:@“http://allseeing-i.com”]; ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[请求 setDidFinishSelector:@selector(requestDone :)]; [要求 setDidFailSelector:@selector(requestWentWrong :)]; [[self queue] addOperation:request]; //队列是一个NSOperationQueue}(无效)requestDone:(ASIHTTPRequest *)请求{的NSString *响应= [请求responseString]; }请求错误:(ASIHTTPRequest *)请求{NSError * error = [请求错误];} }
在上述样品中,“队列”是 保留 我们的控制器的NSOperationQueue属性。
我们正在设置自定义选择器,当请求 成功或失败时将调用 。如果您没有设置 这些,则将使用默认值(requestFinished: 和requestFailed :),如上例中的 。
处理的 多个请求
如果你需要处理的成功和 失败在许多不同类型 请求的成功和失败,你有几种选择:
- 如果您的要求是所有的相同的宽类型,但你想 区分它们,你可以设置 userInfo NSDictionary属性 每个请求与你自己的自定义数据 ,你可以读取完成/ 失败的委托方法。
- 如果你需要处理的成功和失败在为每个请求完全不同的 的方式,设置不同的 setDidFinishSelector/ setDidFailSelector为每个请求
- 对于更复杂的情况,还是要分析的响应 背景,为每个 类型的请求创建一个ASIHTTPRequest的最小 子类,并覆盖 requestFinished:和failWithProblem :.
希望这会有所帮助。
感谢,
Madhup
退房这里的示例代码:http://allseeing-i.com/ASIHTTPRequest/How-to-use
它不支持异步请求(多线程),你可以使用ASINetworkQueue来监测他们的进展。
- 1. libubox是否支持多线程
- 2. Cocos2d是否支持多线程?
- 3. 现在uiautomator是否支持多线程
- 4. PHP5是否支持多线程?
- 5. qx.io.remote.RPC是否支持多线程
- 6. Arduino是否支持线程?
- 7. Google Chrome扩展程序是否支持多线程编程?
- 8. java-me是否支持线程?
- 9. Flex 3是否支持线程?
- 10. gprof是否支持多线程应用程序?
- 11. Libevent多线程支持
- 12. COM多线程支持
- 13. 支持多线程的arraylist
- 14. MonetDB多线程支持
- 15. Racket支持多线程吗?
- 16. Webservice支持多线程?
- 17. Arduino uno是否支持多种程序?
- 18. Arrayray python是否支持多GPU编程
- 19. 消息队列是否支持多线程?
- 20. Swift是否有任何本地并发和多线程支持?
- 21. 实体框架是否支持多线程?
- 22. PHP7是否支持多态?
- 23. v4l2是否支持多图?
- 24. Marketo是否支持旅程?
- 25. Alamofire是否支持HTTP流水线?
- 26. RethinkDb是否支持请求流水线?
- 27. S3是否支持HTTP流水线?
- 28. com.sun.net.httpserver.HttpServer是否支持流水线?
- 29. .NET Micro Framework是否支持CAN总线?
- 30. 浏览器是否支持Java小程序的线程?