2010-11-17 2 views
0

В моем приложении AIR у меня есть список файлов, которые необходимо загрузить с удаленного сервера. Я хочу, чтобы эта загрузка происходила синхронно. Нравится,Как загрузить файл синхронно в flex

 
for(i=0; i<fileList.length; i++) 
{ 
    // do something before downloading 
    downloadFile(fileList[i]); 
    // do something after download... 
} 

Просьба помочь мне узнать, как загрузить файлы синхронно, чтобы достичь вышеупомянутой задачи.

Спасибо заранее!

ответ

3

Избегайте синхронного программирования в Flex. Вы заблокируете пользовательский интерфейс и браузер, которые вы действительно не хотите делать (и рамки не позволяют вам делать). На самом деле, я бы сказал, что это невозможно без хаков ... но это то, что вам действительно нужно, чтобы он был синхронным.

Используйте 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(); 

Я смущаюсь, чтобы показать это, но Eсть хак, где вы можете вспыхнуть в браузере и использовать Javascript, чтобы сделать это ... но на самом деле , вам следует избегать этого. Должен быть способ сделать вашу систему асинхронной?

http://cookbooks.adobe.com/post_Synchronous_data_calling_with_Flex-7184.html

Смежные вопросы