【JavaScript ECMAScript】async function*文の使い方
async function*文の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
async function*関数は非同期処理と反復処理を同時に実行する特殊な関数です。この関数は、asyncキーワードとジェネレーター関数を定義するfunction*キーワードを組み合わせたもので、非同期的に生成される一連の値を段階的に処理するのに用いられます。
関数本体内では、通常のasync関数と同様にawaitキーワードを使用でき、Promiseベースの非同期処理の完了を待つことができます。また、通常のジェネレーター関数と同様に、yieldキーワードを使用して値を一つずつ生成し、呼び出し元に返すことができます。
async function*関数が実行されると、AsyncGeneratorオブジェクトが返されます。このオブジェクトのnext()メソッドを呼び出すとPromiseが返され、このPromiseはyieldによって生成された次の値か、関数が完了したことを示す値で解決されます。
この機能により、ネットワークからのデータストリームや、大規模なデータベースクエリの結果など、非同期的に利用可能になるデータを、メモリを圧迫することなく必要な分だけ順次処理することが可能になります。非同期のイテレーションを容易に実現し、大量のデータを効率的に扱うための強力な機能を提供します。
公式リファレンス: async function*
構文(syntax)
1async function* functionName(param1, param2) { 2 // Asynchronous generator function body 3 // You can use 'await' for async operations and 'yield' to produce values. 4}
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません