如何在 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。
输出: