每 60 秒调用一次函数

2022-08-30 00:09:32

使用它可以在指定时间启动函数:setTimeout()

setTimeout(function, 60000);

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


答案 1

如果您不关心 中的代码是否可能花费的时间超过您的间隔,请使用 setInterval()timer

setInterval(function, delay)

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

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

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

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


答案 2

使用

setInterval(function, 60000);

编辑:(如果你想在时钟启动后停止它)

脚本部分

<script>
var int=self.setInterval(function, 60000);
</script>

和 HTML 代码

<!-- Stop Button -->
<a href="#" onclick="window.clearInterval(int);return false;">Stop</a>