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

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

DDD
リリース: 2024-12-28 02:47:10
オリジナル
678 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート