mizuko約1か月前 00TypeScript の Async Generator についてTypescriptこの機能は以下二つの概念を組み合わせたもの Generator(ジェネレーター)- イテレーターを生成する関数 Async(非同期)- Promiseベースの非同期処理 構文 async *functionName() { // ^ アスタリスク(*)はジェネレーター関数を示す // async キーワードは非同期関数であることを示す } 例 async function* asyncNumberGenerator() { yield await Promise.resolve(1); yield await Promise.resolve(2); yield await Promise.resolve(3); } // 非同期ジェネレーターを使用したイテレーション async function run() { for await (const num of asyncNumberGenerator()) { console.log(num); // 1, 2, 3 の順で出力 } } 良いところ メモリ効率が良い(全データを同時に保持しない) 必要なときに必要な分だけデータを生成/取得 無限のデータストリームも扱える バッチ処理やストリーミング処理に適している