間隔和超時

import flash.utils.*;
var intervalId:uint=setInterval(schroedingerCat,1000); 
// execute a function once per second and gather interval ID
trace("Cat's been closed in the box.");
function schroedingerCat():void {
    if (Math.random()<0.04) {
        clearInterval(intervalId); // stop repeating by ID
        trace("Cat's dead.");
        return;
    }
    trace("Cat's still alive...");
}

var bombId:uint;
function plantBomb(seconds:Number):uint {
    trace("The bomb has been planted, and will blow in "+seconds.toFixed(3)+" seconds!");
    var id:uint=setTimeout(boom,seconds*1000); // parameter is in milliseconds
    return id;
}
function defuseBomb(id:uint):void {
    clearTimeout(id);
    trace("Bomb with id",id,"defused!");
}
function boom():void {
    trace("BOOM!");
}

setInterval() 用於以指定的間隔非同步執行重複的任務。使用內部 Timer 物件,uint 型別的返回值是其內部 ID,你可以通過呼叫 clearInterval() 來訪問和停止重複。setTimeout()clearTimeout() 的工作方式類似,但對提供的函式的呼叫只進行一次。你可以為兩個 set 函式提供其他引數,這些引數將按順序傳遞給函式。在編譯時不檢查引數的數量及其型別,因此,如果你提供一個奇怪的引數組合,或者需要它們並且不接收任何引數的函式,則會引發錯誤“錯誤#1063:引數計數不匹配”。

你可以使用常規 Timer 物件執行 setIntervalsetTimeout 的兩個事件,使用 0 或 1 表示 repeatCount 屬性,0 表示無限重複,1 表示一個。