js实现等待几秒

使用 setTimeout 实现延迟执行
setTimeout(() => {
console.log('这段代码将在3秒后执行');
}, 3000);
结合 Promise 实现等待
function wait(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function delayedAction() {
console.log('开始等待');
await wait(2000);
console.log('2秒后执行');
}
delayedAction();
使用 async/await 实现顺序等待
async function sequentialWaits() {
console.log('第一步');
await new Promise(resolve => setTimeout(resolve, 1000));
console.log('1秒后执行第二步');
await new Promise(resolve => setTimeout(resolve, 1500));
console.log('再1.5秒后执行第三步');
}
sequentialWaits();
循环定时执行
let counter = 0;
const intervalId = setInterval(() => {
console.log(`每秒执行一次,当前第${++counter}次`);
if(counter >= 5) clearInterval(intervalId);
}, 1000);
使用 requestAnimationFrame 实现精确等待
function waitFrames(frames) {
let count = 0;
return new Promise(resolve => {
function loop() {
if(++count >= frames) resolve();
else requestAnimationFrame(loop);
}
requestAnimationFrame(loop);
});
}
// 假设60fps,等待1秒(60帧)
waitFrames(60).then(() => console.log('1秒后执行'));