JavaScript for循环 延时

JavaScript中for循环 怎么加延时

for(var i=0;i<10;i++){
cosole.log(i);
//延时10ms
}

我想在for循环中 每隔10ms输出一个i 怎么写这个延时函数

使用async await

async function demo() {
  for (let i = 0; i < 10; i++) {
    await new Promise(resolve => setTimeout(resolve, 500))
    console.log(i)
  }
}

demo()

通过参考链接,作了一下修改:

修改如下:

参考链接:



<script type="text/javascript">

    // https://zhuanlan.zhihu.com/p/174042263
    for (let i = 0; i < 10; i++) {
      // 每隔 10ms 输出 当前i的值
      setTimeout(() => console.log(i), 10 * i)
    }
    
</script>

img

【以下回答由 GPT 生成】

问题解答:

要在JavaScript的for循环中添加延时,可以使用setTimeout函数来实现。setTimeout函数用于在一定时间后执行一段代码。以下是具体的解决方案:

for(var i = 0; i < 10; i++){
    delayPrint(i);
}

function delayPrint(i) {
    setTimeout(function(){
        console.log(i);
    }, i * 10);
}

在这个解决方案中,我们将延时函数delayPrint抽离出来,用于延时输出i的值。在delayPrint函数中,我们使用了setTimeout函数来设置延时,第一个参数是要执行的代码,第二个参数是延时的时间(这里是i * 10,表示每隔10毫秒延时执行)。通过这种方式,就可以实现每隔一定时间输出一个i的值。

希望这个解决方案对你有帮助!


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^