【问题标题】:How can I delay inner for loop and make outer for loop to wait utill inner loop will finish iteration?如何延迟内部 for 循环并使外部 for 循环等到内部循环完成迭代?
【发布时间】:2017-01-19 23:22:14
【问题描述】:

我该怎么做? 考虑到我想将每个内部 for 循环迭代延迟 2 秒,我该如何延迟外部循环,直到内部 for 循环完成? 我想要达到的结果:

在控制台中打印外部循环:0

外循环等待内循环完成。

内循环打印:0、1、2 延迟 2 秒。

然后外循环打印:1.

外循环等待内循环完成。

内循环打印:0、1、2 延迟 2 秒。

等等。

for (var i = 0; i < 3; i++)
  {
    alert(i);
    for (var j = 0; j < 3; j++)
      {
        alert(j);
      }
    }

【问题讨论】:

标签: javascript settimeout


【解决方案1】:

正如Synchronous delay in code execution 中提到的,您可以拥有一个等待功能并将其包含在您的代码中。

function wait(ms) {
    var start = Date.now(),
        now = start;
    while (now - start < ms) {
      now = Date.now();
    }
}

for (var i = 0; i < 3; i++)  {
  alert(i);
  for (var j = 0; j < 3; j++) {
    alert(j);
    wait(2000);
  }
}

【讨论】:

    猜你喜欢
    • 2015-03-21
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 2013-06-07
    • 2011-03-23
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    相关资源
    最近更新 更多