如何让javascript中的setInterval持续50天以上?
How to make setInterval in javascript last for more than 50 days?
我知道 setInterval 时间的最大值小于最大 32 位无符号整数,但这对我的情况来说还不够,我需要 setInterval 有超过 50 天的时间我如何才能完成这样的任务?
此致,
回答你实际问的问题:你不能。相反,你会让它更频繁地重复出现,并且有条件逻辑,所以你每 50 天(或其他)只做一些事情。
示例:每 75 天一次:
var nextEvent = new Date();
nextEvent.setDate(nextEvent.getDate() + 75); // JS dates handle month rollover for you
setInterval(function() {
if (new Date() < nextEvent) {
return;
}
// ...do your processing...
// Set up for next time
nextEvent = new Date();
nextEvent.setDate(nextEvent.getDate() + 75);
}, 1000 * 60 * 60 * 24); // Once a day
但是,我不能保证浏览器实际上会连续几天持续触发该间隔计时器。
我知道 setInterval 时间的最大值小于最大 32 位无符号整数,但这对我的情况来说还不够,我需要 setInterval 有超过 50 天的时间我如何才能完成这样的任务? 此致,
回答你实际问的问题:你不能。相反,你会让它更频繁地重复出现,并且有条件逻辑,所以你每 50 天(或其他)只做一些事情。
示例:每 75 天一次:
var nextEvent = new Date();
nextEvent.setDate(nextEvent.getDate() + 75); // JS dates handle month rollover for you
setInterval(function() {
if (new Date() < nextEvent) {
return;
}
// ...do your processing...
// Set up for next time
nextEvent = new Date();
nextEvent.setDate(nextEvent.getDate() + 75);
}, 1000 * 60 * 60 * 24); // Once a day
但是,我不能保证浏览器实际上会连续几天持续触发该间隔计时器。