-
Async/Awaitの基本的な使い方: Async/Awaitは、非同期処理をより直感的に扱うための構文です。以下に基本的な使い方を示します。
async function fetchData() { try { const response = await fetch('https://api.example.com/data'); const data = await response.json(); return data; } catch (error) { console.error('データの取得に失敗しました:', error); throw error; } }
上記の例では、
fetchData
関数が非同期処理を行っています。await
キーワードを使うことで、非同期な処理が完了するまで待機します。エラーハンドリングも行っており、エラーが発生した場合は適切に処理します。 -
複数の非同期処理の同時実行: Async/Awaitを使うことで、複数の非同期処理を同時に実行することも可能です。以下に例を示します。
async function fetchData() { try { const [data1, data2] = await Promise.all([ fetch('https://api.example.com/data1'), fetch('https://api.example.com/data2') ]); const parsedData1 = await data1.json(); const parsedData2 = await data2.json(); return [parsedData1, parsedData2]; } catch (error) { console.error('データの取得に失敗しました:', error); throw error; } }
上記の例では、
Promise.all
メソッドを使って複数の非同期処理を同時に実行しています。await
キーワードを使って個々の非同期処理が完了するのを待機し、結果を取得しています。 -
非同期処理の逐次実行: 一部の場合では、非同期処理を逐次的に実行する必要があります。以下に例を示します。
async function processItems(items) { for (const item of items) { await processItem(item); } console.log('処理が完了しました'); } async function processItem(item) { try { // アイテムの処理 console.log(`${item} を処理中...`); } catch (error) { console.error(`${item} の処理中にエラーが発生しました:`, error); throw error; } }
上記の例では、
processItems
関数が与えられたアイテムを逐次的に処理します。await
キーワードを使って各アイテムの処理が完了するのを待機しています。
このように、Async/Awaitを使うことで、JavaScriptにおける非同期処理の制御を容易にすることができます。さまざまな状況に応じて、上記の例を参考にして適切な方法を選択してください。