
Код:
var iterations:Number=999999999;
function gigantic ():Boolean{
var t:int = getTimer();
while (iterations--){
if (getTimer()-t>100){ //что-то долго очень в цикле выполняем, нужно бы и другим элементам дать отработать
return false;
}
}
return true;
}
function enterFrameHandler (e:Event):void {
if (gigantic()) {
removeEventListener (Event.ENTER_FRAME,enterFrameHandler);
trace ("длительная функция закончила выполнение");
}
}
addEventListener (Event.ENTER_FRAME,enterFrameHandler);
и никаких проблем с подвисанием на время выполнения длинных функций