我想上传带有多个URLLOADER的图像,以便在等待 COMPLETE_EVENT 时节省时间。
有时它可能会被阻塞,并且它不给出完成事件、不给出安全错误、不给出状态事件并且不抛出异常。它根本不会触发任何事件。
private const RO_NUMBER:int = 2;
private var roPool:Array = new Array();
public function init():void {
for (var i:int = 0; i < RO_NUMBER; i++) {
loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.OPEN, onStartUpload);
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
roPool.push(loader);
}
}
public function startUpload(pictures:ArrayList):void {
_pictures.addAll(pictures);
init();
if (getExternalInfo()) {
for (var i:int = 0; i < RO_NUMBER; i++) {
var loader = roPool.pop();
loader.load(getRequest());
}
} else {
onUploadFinish();
}
}
加载操作是异步和单线程的。为什么会被阻塞?