在函数花费的时间超过setInterval中提到的延迟的情况下(例如ajax调用,这可能会阻止其按时完成),我发现这两个函数没有呼吸空间,或者setInterval破坏了节奏。
var fakeCallToServer = function() {
setTimeout(function() {
console.log('returning from server', new
Date().toLocaleTimeString());
}, 4000);
}
setInterval(function(){
let insideSetInterval = new Date().toLocaleTimeString();
console.log('insideSetInterval', insideSetInterval);
fakeCallToServer();
}, 2000);
Output:
//insideSetInterval 14:13:47<br>
//insideSetInterval 14:13:49<br>
//insideSetInterval 14:13:51<br>
//returning from server 14:13:51<br>
//insideSetInterval 14:13:53<br>
//returning from server 14:13:53 <br>
//insideSetInterval 14:13:55<br>
//returning from server 14:13:55<br>
如何修复它。请提供一些示例。