使用javascript延迟for循环

Lin*_*nda 6 javascript for-loop delay

我想延迟"for循环"一段时间,但不知道该怎么做.

例如.假设这个"for循环"从0到8运行,并且在每个i之后应该有2 sek的延迟.

for (var i=0; i<8; i++{
  do something...
  wait for 2 sek. and go on with i=i++;
}
Run Code Online (Sandbox Code Playgroud)

met*_*ngs 8

你必须这样:

function jsHello(i) {
    if (i < 0) return;

    setTimeout(function () {

        alert("Hello " + i);

        jsHello(--i);

    }, 2000);
}

jsHello(5);
Run Code Online (Sandbox Code Playgroud)

要么

function jsHello(i) {
    alert("Hello " + i);

    if (--i > -1) {
      setTimeout(function () { jsHello(i); }, 2000);
    }
}

jsHello(5);
Run Code Online (Sandbox Code Playgroud)


jcb*_*rmu 5

Javascript 没有等待命令。获得这种行为的方法是使用setTimeout

for (var i=0; i<8; i++){
   do_something(i);
}

function do_something(j) {
  setTimeout(function() {
      tasks to do;
  }, 2000 * j);
}
Run Code Online (Sandbox Code Playgroud)

每次do_something()调用该函数时,它都会执行以毫秒为单位调度的“要执行的任务”2000*i