在 JavaScript 中可以使用Promise和setTimeout来实现一个sleep函数,以下是实现方式:
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
使用示例如下:
async function testSleep() {
console.log('开始执行');
await sleep(2000); // 等待 2 秒
console.log('2 秒后执行');
}
testSleep();
在上述代码中,sleep函数接受一个毫秒数作为参数,返回一个Promise对象。在这个Promise对象中,使用setTimeout来设置一个定时器,当定时器到期时,调用resolve函数来解决这个Promise。这样,当调用sleep函数时,可以使用await关键字来等待这个Promise被解决,从而实现暂停执行一段时间的效果。