如何在回调执行结束时开始的间隔内运行 Javascript 函数?



我使用 setinterval 函数异步运行 Javascript 中的函数。

myVar = setInterval(myTimer, 5000);

myTimer 函数的执行可能相当长,有时比指定的延迟长,在这种情况下,间隔只是背靠背执行。我希望回调函数的下一次执行与上一个执行的结束有关。为了重申,我希望 myTimer 函数在之前的完成 5000 毫秒后运行,并希望重复此操作。

是的,这可以使用setTimeout来完成。

function myTimer(){
console.log("Exec func");
// Rest of the functionality here
setTimeout(myTimer, 5000);
}
myTimer();

你可以做这样的事情:

function longFunction() {
// Do your stuff here
}
var taskId;
function task() {
longFunction();
taskId = setTimeout(task, 5000);
}

最新更新