在 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
被解决,从而实现暂停执行一段时间的效果。