簡體   English   中英

如何跳過 setInterval function 的第一次延遲?

[英]How to skip 1st delay of setInterval function?

當我們使用 setInterval 時,它會延遲指定的時間,然后運行第一個參數中指定的 function。 如果我不想第一次延遲,我該怎么辦?

我有一個解決方案,最初調用 function 然后使用 setInterval 所以第一次調用延遲不會存在。 但這不是正確的解決方案。 因此,如果有人有其他解決方案,請告訴我。

setInterval(function(){
    doFunction();
}, 15000);

doFunction();

立即這樣做:)

閱讀這篇文章。 在運行時更改 SetInterval 的間隔

Peter Bailey有一個很好的通用 function,但是gnarf也有一個很好的小例子。

您必須為此創建自己的計時器。 SetInterval 不允許您在執行時更改間隔延遲。 在回調循環中使用 setTimeout 應該允許您編輯間隔時間。

另一種方式:

(function run(){
        // code here
    setTimeout(run,1000);
}())

為此創建一個包裝器。

function runPeriodically(func, miliseconds) {
    func();
    return setInterval(func, miliseconds);
}

function onePiece() { /* */ }
runPeriodically(onePiece, 100);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM