Window:setImmediate() 方法
已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。
非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。
此方法用於中斷長時間執行的操作,並在瀏覽器完成其他操作(例如事件和顯示更新)後立即執行回撥函式。
語法
js
setImmediate(func)
setImmediate(func, param1)
setImmediate(func, param1, param2)
setImmediate(func, param1, param2, /* …, */ paramN)
引數
func-
您希望呼叫的函式。
param1, …,paramN-
所有引數將直接傳遞給您的函式。
返回值
即時操作的 ID,稍後可與 window.clearImmediate 一起使用。
注意
clearImmediate() 方法可用於清除即時操作,就像用於 setTimeout() 的 clearTimeout() 一樣。
此方法可用於替代 setTimeout(fn, 0) 方法來執行繁重操作。
該功能可以通過幾種不同的方式進行模擬
postMessage()可用於觸發即時但可讓步的回撥。MessageChannel可以在 Web Workers 中可靠使用,而 postMessage 的語義意味著它不能在那裡使用。setTimeout(fn, 0)可能可以使用,但根據 HTML 規範,對於巢狀超過 5 層的計時器,它會被限制在 4ms,因此它不適合作為setImmediate自然即時性的 polyfill。
所有這些技術都被整合到一個健壯的 setImmediate polyfill 中。
規範
不屬於任何現有規範。高效指令碼讓步規範已不再開發。
瀏覽器相容性
載入中…