我想上传图像多个URLLOADER s,这样我可以节省等待COMPLETE_EVENT的时间。为什么在使用多个URLLOADER上传时被阻止?
有时它可能会被阻塞,并且它不会给出完成事件,不会给出安全错误,不会给出状态事件并且不会引发异常。它根本不会触发任何事件。
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();
}
}
加载操作是异步和单线程。为什么这可能会被阻止?
哦,我忘了复制这条线从我的代码。 – wa7chen
@ wa7chen对.. – Marty
但重点不在这里,你有什么其他想法吗? – wa7chen