回答
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小程序的線程?