2015-08-18 3 views
0

Для моего теста мне нужно загрузить около 1000 файлов, а затем выполнить некоторые действия с каждым по одному. Проблема в том, что я не могу загрузить другой файл в обработчик, flexunit просто выйдет после вызова load(). Он работает, когда я использую другой загрузчик, с ранее добавленным Event Listener (см. Код), но я не думаю, что это хорошая идея добавить ~ 1000 загрузчиков.Есть ли способ отправить событие снова в обработчик?

Я также попытался создать новый объект-загрузчик в функции обработчика, но у меня возникла ошибка «Asynchronous Event Received out of Order» при попытке добавить в нее Event Listener.

Что мне здесь делать?

[Test(async)] 
public function testTest():void 
{ 
    loader.addEventListener(Event.COMPLETE, Async.asyncHandler(this, onComplete, 10000), false, 0, true); 
    loader.load(new URLRequest("file.xml")); 
    //loader2.addEventListener(...); 

    function onComplete(e:Event, passTroughtData:Object):void 
    { 
     //performing my actions with loaded file 
     trace("loaded"); 
     //attempt 1 - test finishes after the next line 
     loader.load(new URLRequest("other_file.xml")); 

     //attempt 2 - causes Out of order error 
     //loader = new URLLoader(); 
     //loader.addEventListener(Event.COMPLETE, Async.asyncHandler(this, onComplete, 10000), false, 0, true); 
     //loader.load(new URLRequest("other_file.xml")); 
    } 
} 
+0

действия, которые необходимо выполнить, одинаковы или различны для каждого файла? – Marcx

+0

@Marcx, то же самое. Кстати, я уже решил свою проблему совершенно по-другому. – sinedsem

+0

Ah ok! Кстати, если вы сделали способ принятого ответа, это не очень хорошо для производительности и памяти ... есть намного более чистый способ ... :) – Marcx

ответ

0

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

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

  • Нет связанных вопросов^_^