Javascript 循环期间JS设置超时?
是否有一种方法可以为循环的每次迭代进行设置 我基本上希望每次迭代次数为500次 setTimeoutfunction,500; } 如果是的话,会是什么样子 对于var i=0;i<10;我++{Javascript 循环期间JS设置超时?,javascript,Javascript,是否有一种方法可以为循环的每次迭代进行设置 我基本上希望每次迭代次数为500次 setTimeoutfunction,500; } 如果是的话,会是什么样子 对于var i=0;i
}那么您有一段代码要执行N次,每次执行之间等待500毫秒
您可以使用setInterval而不是setTimeout,然后在对该时间间隔执行的代码中,包含一个计数器和一个条件,以便在正确的执行次数后删除该时间间隔。在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
什么意思?你想为每次迭代等待500毫秒?你是说你想让事情在它们之间有500毫秒的延迟?是的,但是您的代码将是异步的,您必须得到通知,您的循环已使用callback完成。您可以在循环中执行setTimeout的可能重复项,但这样您将导致i函数同时执行。这真的是你想要的吗?是的,这就是我想要的