在JavaScript中,由于語言的單線程執行特性,通常不能直接實現一個類似于其他語言中的sleep
函數來讓程序暫停執行一段時間。不過可以通過使用setTimeout
函數來模擬實現一個類似的功能。
以下是一個使用setTimeout
函數實現的sleep
函數的示例:
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// 使用示例
async function demo() {
console.log('Start');
await sleep(2000); // 等待2秒
console.log('End');
}
demo();
在上面的示例中,sleep
函數接受一個毫秒數作為參數,返回一個Promise
對象,通過await
關鍵字可以讓程序等待指定的時間后再繼續執行后續代碼。在demo
函數中的await sleep(2000)
表示讓程序等待2秒后再打印End
。
需要注意的是,sleep
函數是一個異步函數,因此在使用時需要在async
函數中進行調用。