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