一尘不染

每60秒调用一次函数

javascript

使用setTimeout()它可以在指定的时间启动功能:

setTimeout(function, 60000);

但是,如果我想多次启动该功能怎么办?每次经过一个时间间隔,我都想执行该功能(假设每60秒执行一次)。


阅读 394

收藏
2020-04-25

共1个答案

一尘不染

如果您不在乎内的代码是否timer可能花费比您的间隔更长的时间,请使用setInterval()

setInterval(function, delay)

一遍又一遍地触发作为第一个参数传入的函数。

更好的方法是setTimeoutself-executing anonymous函数一起使用:

(function(){
    // do some stuff
    setTimeout(arguments.callee, 60000);
})();

这样可以保证在执行代码之前不会进行下一个调用。arguments.callee在本示例中,我将其用作函数参考。这是给函数命名并在其中调用的更好方法,setTimeout因为arguments.callee在ecmascript
5中已弃用。

2020-04-25