gpt4 book ai didi

javascript - 分钟变化时准确运行函数?

转载 作者:IT老高 更新时间:2023-10-28 23:01:07 26 4
gpt4 key购买 nike

如何在分钟变化时准确运行函数?如果我在分钟变化时立即触发它,则使用 setInterval 可能会起作用。但我担心 setInterval 可能会在长时间运行的过程中被事件循环中断,并且不会与时钟保持同步。

如何在分钟变化时准确运行函数?

最佳答案

首先,您应该使用 setInterval对于重复计时器,因为它(试图)保证定期执行,即任何潜在的延迟都不会像重复的 setTimeout 调用那样叠加。这将每分钟执行一次你的函数:

var ONE_MINUTE = 60 * 1000;

function showTime() {
console.log(new Date());
}

setInterval(showTime, ONE_MINUTE);

现在,我们需要做的是在正确的时间开始:

function repeatEvery(func, interval) {
// Check current time and calculate the delay until next interval
var now = new Date(),
delay = interval - now % interval;

function start() {
// Execute function now...
func();
// ... and every interval
setInterval(func, interval);
}

// Delay execution until it's an even interval
setTimeout(start, delay);
}

repeatEvery(showTime, ONE_MINUTE);

关于javascript - 分钟变化时准确运行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10795164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com