WorkerGlobalScope: setTimeout() 方法

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

* 此特性的某些部分可能存在不同級別的支援。

注意:此功能僅在 Web Workers 中可用。

WorkerGlobalScope 介面的 setTimeout() 方法會設定一個計時器,該計時器會在計時器到期後執行一次指定的函式或程式碼片段。

語法

js
setTimeout(code)
setTimeout(code, delay)

setTimeout(functionRef)
setTimeout(functionRef, delay)
setTimeout(functionRef, delay, param1)
setTimeout(functionRef, delay, param1, param2)
setTimeout(functionRef, delay, param1, param2, /* …, */ paramN)

引數

functionRef

一個在計時器到期後要執行的 function

code

允許你傳入一個字串而不是一個函式,該字串會在計時器到期後進行編譯和執行。出於與 eval() 相同的安全風險原因,不推薦使用此語法。

delay 可選

計時器應等待執行指定函式或程式碼的毫秒數。如果省略此引數,則使用值 0,表示“立即”執行,或者更準確地說,在下一個事件迴圈中執行。

請注意,在這兩種情況下,實際延遲可能比預期要長;請參閱 延遲可能比指定時間長的原因

另請注意,如果該值不是數字,則會對該值進行隱式 型別強制轉換以將其轉換為數字——這可能導致意外和令人驚訝的結果;請參閱 非數字延遲值會被默默強制轉換為數字 以獲取示例。

param1, …, paramN 可選

傳遞給 functionRef 指定的函式的其他引數。

返回值

setTimeout() 方法返回一個正整數(通常在 1 到 2,147,483,647 的範圍內),它唯一標識了該呼叫建立的計時器。這個識別符號通常被稱為“timeout ID”,可以傳遞給 clearTimeout() 來取消計時器。

在同一個全域性環境(例如,特定的視窗或 worker)中,只要原始計時器保持活動狀態,就可以保證 timeout ID 不會被用於任何新的計時器。但是,單獨的全域性環境維護它們自己的獨立計時器 ID 池。

描述

有關詳細描述,請參閱 Window.setTimeout()

示例

有關示例,請參閱 Window.setTimeout()

規範

規範
HTML
# dom-settimeout-dev

瀏覽器相容性

另見