Для моего теста мне нужно загрузить около 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"));
}
}
действия, которые необходимо выполнить, одинаковы или различны для каждого файла? – Marcx
@Marcx, то же самое. Кстати, я уже решил свою проблему совершенно по-другому. – sinedsem
Ah ok! Кстати, если вы сделали способ принятого ответа, это не очень хорошо для производительности и памяти ... есть намного более чистый способ ... :) – Marcx