了解 JavaScript 的睡眠功能
與其他程式語言不同,JavaScript 缺乏用於暫停執行的本機 sleep() 函數。然而,對 JavaScript 中真正睡眠機制的追求導致了各種技術的出現。
Pausecomp 函數:早期嘗試
其中一個嘗試是pausecomp函數,它引入了一種透過手動檢查當前系統時間與初始時間戳來引發暫停的粗略方法。雖然它在當時達到了它的目的,但後來的進步使它已經過時了。
現代 JavaScript 解決方案:Promises 和 Async/Await
今天,建議的實作方法JavaScript 中的 sleep 利用 Promises 和 async/await 語法。這種方法提供了一個乾淨、簡單的解決方案:
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
要使用此功能:
await sleep(2000); // Pauses execution for 2 seconds
現代方法的好處
現代方法與先前的方法相比,此方法具有多個優點方法:
使用範例
這是sleep() 的示範運行中的函數:
async function demo() { for (let i = 0; i < 5; i++) { console.log(`Waiting ${i} seconds...`); await sleep(i * 1000); } console.log('Done'); } demo();
此程式碼模擬睡眠功能,每次迭代都會等待越來越多的秒數,然後列印“等待”訊息並最終記錄“完成”。
以上是如何在 JavaScript 中實作睡眠函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!