递归调用setTimeout时,其回调会延迟。
我以前使用的是setInterval,这导致了更多的延迟。
让我先设置它。
this.interval = setTimeout(()=> {
this.refresh_token();
}, 60000);
refresh_token =异步()=> { //做一些工作
this.interval = window.setTimeout(()=> {
this.refresh_token();
}, 60000);
console.log("Setting up the new setTimeout again with current time.", new Date());
} 有时1秒后它会以适当的方式工作。
有时是随机的,在3/4/5秒后会收到回调。
此外,我发现这里很重要的一点是,不能保证setTimeout在调用后准确触发所提供的毫秒数。
有关更多信息,请参见MSDN文档的这一部分https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout#Reasons_for_delays_longer_than_specified。
这是我的setTimeout延迟的原因吗? 如果是,是否有解决此问题的方法。