setInterval方法可以长时间使用吗?
我要求每天和/或每周一次触发一次功能。
所以使用setInterval(myFunc, 86400000)
//一天。类似地计算一周的毫秒数
这是一个好方法。还是有其他技术我可以使用。
答案 0 :(得分:1)
我认为一个好的选择是,
当网页首次打开时,将日期存储到本地存储, 当它打开时,通常每分钟检查本地存储器中的日期 然后验证它并采取行动。
setIterval听起来像是在这里做的非常糟糕的方式...
启动时获取数据,
使用localStorage.setItem("date", datevariblename);
在加载时或每次在设定的时间间隔内使用
localStorage.getItem("date")
获取日期值
然后执行当前日期和保存日期之间所需的每个比较
答案 1 :(得分:0)
setTimeout
在较长时期内非常准确。我前段时间有自己的要求,所以我在浏览器上做了一些测试。例如,即使您的超时持续24小时,回调也会被精确触发(方差在毫秒范围内)。
setTimeout
(或更确切地说,实现)不使用“倒计时”。当时间段结束时,它会要求操作系统给它SIG
nal。