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>
【以下回答由 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
的值。
希望这个解决方案对你有帮助!