在我的AIR应用程序中,我有一个需要从远程服务器下载的文件列表。我想让这个下载同步发生。像,
for(i=0; i<fileList.length; i++) { // do something before downloading downloadFile(fileList[i]); // do something after download... }
请帮助我知道如何以同步方式下载文件以实现上述任务。
提前致谢!!
答案 0 :(得分:3)
避免在Flex中进行同步编程。您将阻止UI和浏览器,您真的不想这样做(并且框架阻止您这样做)。事实上,我会说没有黑客攻击是不可能的......但这是一个速率案例,你真的需要它同步。
使用HTTPService异步下载文件:
var service:HTTPService = new HTTPService();
service.url = "http://yourhost.com/yourfile";
service.resultFormat = "text";
service.result = function(event:ResultEvent):void { doSomething(event.result) });
service.send();
我毫不犹豫地展示了这一点,但是有一个黑客,你可以破解到浏览器并使用Javascript来做到这一点......但实际上,你应该避免这种情况。必须有办法使你的系统异步?
http://cookbooks.adobe.com/post_Synchronous_data_calling_with_Flex-7184.html