setInterval更长时间

时间:2012-08-27 11:46:35

标签: javascript

setInterval方法可以长时间使用吗? 我要求每天和/或每周一次触发一次功能。 所以使用setInterval(myFunc, 86400000) //一天。类似地计算一周的毫秒数 这是一个好方法。还是有其他技术我可以使用。

2 个答案:

答案 0 :(得分:1)

我认为一个好的选择是,

当网页首次打开时,将日期存储到本地存储, 当它打开时,通常每分钟检查本地存储器中的日期 然后验证它并采取行动。

setIterval听起来像是在这里做的非常糟糕的方式...

启动时获取数据,

使用localStorage.setItem("date", datevariblename);

保存日期

在加载时或每次在设定的时间间隔内使用 localStorage.getItem("date")获取日期值

然后执行当前日期和保存日期之间所需的每个比较

答案 1 :(得分:0)

setTimeout在较长时期内非常准确。我前段时间有自己的要求,所以我在浏览器上做了一些测试。例如,即使您的超时持续24小时,回调也会被精确触发(方差在毫秒范围内)。

setTimeout(或更确切地说,实现)不使用“倒计时”。当时间段结束时,它会要求操作系统给它SIG nal。