首頁 >web前端 >js教程 >如何在現代 JavaScript 中高效實現睡眠函數?

如何在現代 JavaScript 中高效實現睡眠函數?

Barbara Streisand
Barbara Streisand原創
2025-01-03 11:56:40671瀏覽

How Can I Efficiently Implement a Sleep Function in Modern JavaScript?

在JavaScript 中製定有效的睡眠解決方案:一種現代方法

雖然pausecomp 函數提供了用於在JavaScript 中引發暫停的基本解決方案,但當代標準需要更有效率的解決方案和優雅的方法。本文介紹了目前在 JavaScript 函數中實現「真正睡眠」的最佳實踐,該實踐自 2009 年以來不斷發展。

進階睡眠函數

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

此函數利用了 Promise API 是 ECMAScript 2015 中引入的內建功能,用於建立表示非同步睡眠操作的 Promise。經過指定的毫秒數 (ms) 後,將呼叫解析函數,進而觸發繼續執行。

使用範例

作為函數:

const sleep = ms => new Promise(r => setTimeout(r, ms));

單行語法:

await new Promise(r => setTimeout(r, 2000));

演示:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn