Я бы сказал, почти асинхронно: загрузка забирает себе все время выполнения...
Вот код, которым я пробовал разорвать последовательность загрузки...
test.png - файл в 5 мегабайт

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.utils.*;
public class Main extends Sprite
{
public function Main():void
{
super();
addEventListener(Event.ADDED_TO_STAGE, init);
}
private var interval:int;
private function init(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var urlRequest:URLRequest = new URLRequest("lib/test.png");
var urlLoader:URLLoader = new URLLoader;
urlLoader.load(urlRequest);
urlLoader.addEventListener(Event.COMPLETE, completeListener);
urlLoader.addEventListener(ProgressEvent.PROGRESS, progressListener);
addEventListener(Event.ENTER_FRAME, enterFrameListener);
trace("after: " + getTimer());
interval = setInterval(intervalFunction, 0.0000001);
}
private var removeInterval:int = 6;
private function intervalFunction():void {
if (removeInterval-- == 0) {
clearInterval(interval);
}
trace("Interval: " + getTimer());
}
private var removeEnterFrame:int = 6;
private function enterFrameListener(e:Event):void {
trace("enter frame: " + getTimer());
if (removeEnterFrame-- == 0) {
removeEventListener(Event.ENTER_FRAME, enterFrameListener);
}
}
private function progressListener(e:ProgressEvent):void {
trace("progress: " + getTimer());
}
private function completeListener(e:Event):void {
trace("complete: " + getTimer() );
}
}
}