对于我的测试,我需要加载大约1000个文件,然后逐个执行一些操作。问题是我无法在处理程序中加载另一个文件,flexunit只是在调用load()后退出。它在我使用另一个加载器时有效,之前添加了Event Listener(参见代码),但我不认为添加~1000个加载器是个好主意。
我还尝试在处理函数中创建新的loader对象,但是当我尝试在那里添加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 :(得分:0)
执行我想要的最简单方法是创建一个加载器数组(每个文件的额外加载器),并在调用第一个load()方法之前向它们添加侦听器。