首頁  >  文章  >  web前端  >  為什麼我的setTimeout函數立即執行?

為什麼我的setTimeout函數立即執行?

DDD
DDD原創
2024-11-11 17:31:03641瀏覽

Why Does My setTimeout Function Execute Immediately?

使用setTimeout 意外立即執行函數

在嘗試按特定時間間隔安排函數調用時,用戶遇到setTimeout 的問題儘管指定了超時,函數仍立即執行函數。 doRequest 函數應該每隔 10 秒呼叫一次,但它是立即呼叫的。

立即執行的原因在於 setTimeout 函數的呼叫方式。以下程式碼片段示範了這個問題:

在此程式碼中,doRequest 函數作為第一個參數傳遞給 setTimeout,但該函數是立即執行而不是被調度。

解決方案:

要解決此問題並確保 doRequest被調度,可以使用三種替代方法setTimeout:

  1. 將函數名稱作為字串傳遞:

  2. 使用匿名函數:

  3. 先傳遞函數名稱,然後傳遞參數:

以上是為什麼我的setTimeout函數立即執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn