📜  如何在 JavaScript 循环中添加延迟?

📅  最后修改于: 2022-05-13 01:56:44.416000             🧑  作者: Mango

如何在 JavaScript 循环中添加延迟?

JavaScript 不提供任何等待命令来为循环添加延迟,但我们可以使用setTimeout方法来实现。此方法在等待指定的毫秒数后执行一个函数。下面给出的示例说明了如何为各种循环添加延迟:

  • 对于循环:
    for (let i=0; i<10; i++) {
       task(i);
    }
      
    function task(i) {
      setTimeout(function() {
          // Add tasks to do
      }, 2000 * i);
    }
    

    在上面给出的代码中,您必须在第 8 行执行2000 * i ,因为循环内的setTimeout方法不会使循环暂停,但实际上会为每次迭代添加延迟。请记住,所有的迭代都是从一起开始的。因此,如果我们只在那里执行2000次,那将使所有迭代一起执行,并且它只会在第一次迭代中产生 2000 毫秒的延迟,而所有其他迭代将在它之后立即发生。因此,为了避免我们将 0 添加到第一个,2000 到第二个,4000 到第三个,然后继续。

    示例:下面给定的程序将在使用for循环对每个数字延迟 2 秒后在控制台中打印 0 到 9。

    
    

    输出:

  • While 循环:相同的概念适用于以下给定的 while 循环。
    let i = 0;
    while (i < 10) {
      task(i);
       i++;
    }
    function task(i) {
      setTimeout(function() {
          // Add tasks to do
      }, 2000 * i);
    }
    

    示例:下面给定的程序将使用 while 循环在每个数字延迟 2 秒后在控制台中打印 0 到 9。

    
    

    输出:

  • Do-while 循环:相同的概念适用于以下给定的 do-while 循环。
    let i = 0;
    do {
      task(i);
      i++;
    } while (i < 5);
    function task(i) {
      setTimeout(function() {
        // Add tasks to do
      }, 2000 * i);
    }
    

    示例:下面给定的程序将使用 do-while 循环在每个数字延迟 2 秒后在控制台中打印 0 到 9。

    
    

    输出: