JavaScript中的window.setTimeout(和相关的setInterval)函数允许您安排将来某个时候执行的函数:
id = setTimeout(function, delay);
其中“延迟”是您想要调用函数的未来毫秒数。在这段时间过去之前,您可以使用以下命令取消定时器:
clearTimeout(id);
我想要的是更新计时器。我希望能够提前或推迟一个定时器,使得该函数被调用x毫秒早或晚比原计划。
如果有一个getTimeout方法,您可以执行如下操作:
originally_scheduled_time = getTimeout(id);
updateTimeout(id, originally_schedule_time + new_delay); // change the time
但据我所知,没有任何像getTimeout或任何方式来更新现有的计时器。
有没有办法访问预定警报列表并修改它们?
有更好的方法吗?
发布于 2018-03-22 14:23:07
一个更好的方法可能是编写自己的存储定时器的包装器(func-ref,delay和timestamp)。这样你就可以假装更新一个定时器,清除它并计算带有更新延迟的副本。
https://stackoverflow.com/questions/-100007726
复制相似问题