有没有办法为循环的每次迭代执行setTimout?
我基本上希望每次迭代都达到500
setTimeout(function(), 500);
}
如果是这样,它看起来怎么样?
for (var i = 0; i < 10; i++){
}
答案 0 :(得分:0)
所以你有一段你想要执行N次的代码,每次执行之间等待500ms?
你可以使用setInterval(https://developer.mozilla.org/en-US/docs/Web/API/Window.setInterval)而不是setTimeout,然后在你在间隔上执行的代码中,包括一个计数器和一个条件来删除间隔(Stop setInterval call in JavaScript)之后正确的执行次数。
答案 1 :(得分:0)
您无法在for
循环中执行此类操作。但你可以效仿它:
var latency = 500,
iteration = 0,
numIterations = 10;
var loop = function() {
// Do your stuff, like:
console.log( iteration );
/*
// break; simulation - return early if some condition was achieved:
if ( iteration == 8 ) {
return;
}
*/
// Loop handling, you'll need those lines, don't remove.
iteration += 1;
if ( iteration < numIterations ) {
setTimeout( loop, latency );
}
}
loop(); // invoke first cycle