js 让for循环执行一次等待1秒
时间: 2023-07-04 07:12:45 浏览: 649
在 JavaScript 中,可以通过使用 setTimeout() 函数或者 async/await 关键字来实现让 for 循环执行一次等待 1 秒的效果。以下是两种使用方式的示例:
1. 使用 setTimeout() 函数:
```javascript
function delayedLoop() {
for (var i = 0; i < 10; i++) {
(function(i) {
setTimeout(function() {
console.log(i);
}, i * 1000);
})(i);
}
}
delayedLoop();
```
在这个例子中,我们定义了一个函数 delayedLoop(),在函数中使用了一个 for 循环,循环次数为 10。在循环中,我们使用了一个立即执行函数来创建一个新的作用域,以便在 setTimeout() 回调函数中能够正确地访问循环变量 i 的值。然后,我们使用 setTimeout() 函数来延迟执行每次循环中的代码,使每次输出的结果间隔 1 秒。
2. 使用 async/await 关键字:
```javascript
async function delayedLoop() {
for (var i = 0; i < 10; i++) {
console.log(i);
await new Promise(resolve => setTimeout(resolve, 1000));
}
}
delayedLoop();
```
在这个例子中,我们定义了一个 async 函数 delayedLoop(),在函数中使用了一个 for 循环,循环次数为 10。在循环中,我们先输出了 i 的值,然后使用 await 关键字等待 1 秒钟。在等待的过程中,JavaScript 引擎会暂停执行当前函数,并将控制权交还给浏览器,直到 1 秒钟时间到达后再继续执行下一次循环。
最后,我们调用了 delayedLoop() 函数来执行带有间隔 1 秒的 for 循环。
阅读全文