0

私のテストでは、約 1000 個のファイルをロードし、それぞれに対していくつかのアクションを実行する必要があります。問題は、ハンドラーに別のファイルをロードできないことです。flexunit は、load() を呼び出した後に終了するだけです。以前にイベントリスナーを追加した別のローダーを使用すると機能しますが(コードを参照)、〜1000個のローダーを追加することはお勧めできません。

また、ハンドラー関数で新しいローダー オブジェクトを作成しようとしましたが、そこにイベント リスナーを追加しようとすると、「Asynchronous Event Received out of Order」エラーが発生しました。

ここで何をすべきですか?

[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"));
    }
}
4

1 に答える 1