Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环期间JS设置超时?_Javascript - Fatal编程技术网

Javascript 循环期间JS设置超时?

Javascript 循环期间JS设置超时?,javascript,Javascript,是否有一种方法可以为循环的每次迭代进行设置 我基本上希望每次迭代次数为500次 setTimeoutfunction,500; } 如果是的话,会是什么样子 对于var i=0;i

是否有一种方法可以为循环的每次迭代进行设置

我基本上希望每次迭代次数为500次

setTimeoutfunction,500; }

如果是的话,会是什么样子

对于var i=0;i<10;我++{


}

那么您有一段代码要执行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函数同时执行。这真的是你想要的吗?是的,这就是我想要的