ホームページ >ウェブフロントエンド >jsチュートリアル >Promise を使用して最新の JavaScript スリープ関数を実装するにはどうすればよいですか?

Promise を使用して最新の JavaScript スリープ関数を実装するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-28 02:47:10689ブラウズ

How Can I Implement a Modern JavaScript Sleep Function Using Promises?

JavaScript Sleep への最新のアプローチ: Promise ベースのソリューションの紹介

2009 年の誕生以来、JavaScript は大きな変革を遂げてきました。関数内で「実際の」スリープを作成するためにかつて人気があったポーズコンプ関数は時代遅れになりました。今日、より効率的で多用途なアプローチが私たちを待っています。

最新の JavaScript スリープ バージョンは Promise の力に依存しています。新しい Promise() コンストラクターを使用すると、指定されたミリ秒数後に解決される Promise を作成できます。 await キーワードを使用すると、Promise が解決されるまで関数の実行を一時停止し、目的のスリープ動作を効果的に実現できます。

更新されたコード スニペットは次のとおりです。

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

この関数は次のことができます。複数の方法で使用できます:

としてワンライナー:

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

スタンドアロン関数として:

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

TypeScript の型付き関数として:

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

スリープ機能を使用するには、希望の期間を指定して呼び出します。ミリ秒単位で解決を待ちます:

await sleep(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 の非同期の性質を活用します。

以上がPromise を使用して最新の JavaScript スリープ関数を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。