Я пытаюсь перебрать массив, а затем заполнить другой массив.Однако объекты, которые я помещаю в новый массив, требуют некоторого времени для расчета.Это дает мне некоторые головные боли планирования.Я создал пользовательское событие для учета завершения этих вычислений и попытался включить его в свой цикл, однако функция после цикла все еще запускается до завершения даже первой итерации цикла.Есть ли возможность прослушать завершение цикла?Вот мой код
package {
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.Sprite;
import ImageSplitter;
import SplitEvent;
import Displayer;
public class DocumentClass extends MovieClip {
private var _splitter:ImageSplitter;
private var _imageParts:Array;
private var _stageHeight:Number;
private var _imgArray:Array;
private var _bannerArray:Array = [];
private var _displayer:Displayer;
public function DocumentClass() {
_stageHeight = stage.stageHeight;
_imgArray = ["banners/banner1.jpg", "banners/banner2.jpg"];
for (var i = 0; i < _imgArray.length; i++) {
_splitter = new ImageSplitter(_imgArray[i]);
_splitter.addEventListener(SplitEvent.SPLIT_COMPLETE, onSplit);
function onSplit(e:SplitEvent):void {
trace(e);
_imageParts = _splitter.imageParts;
_bannerArray.push(_imageParts);
trace("Banner len: " + _bannerArray.length);
_splitter.removeEventListener(SplitEvent.SPLIT_COMPLETE, onSplit);
}
}
afterLoop();
}
private function afterLoop() {
trace("loop finished. Banner len: " + _bannerArray.length);
}
}
Как я уже говорил выше, afterLoop () запускается до завершения хотя бы одной итерации цикла for.Любая помощь будет принята с благодарностью.