非同期関数と async/await
は、JavaScriptで非同期処理をより直感的に扱うための機能。
非同期関数は非同期操作を行うための特別な関数で、async
および await
キーワードを使用して非同期コードを記述する。
以下にそれぞれの概念を詳しく説明する。
- 非同期関数 (Async Function):
- 非同期関数は通常のJavaScript関数と同じように定義されるが、
async
キーワードを関数の前に付けることで非同期関数として宣言される。
例えば、async function myFunction() { ... }
のように使用する。 - 非同期関数内では非同期操作を行うためにPromiseを扱うことが一般的。
非同期関数はPromiseを返す。
- 非同期関数は通常のJavaScript関数と同じように定義されるが、
- async/await:
async/await
は非同期関数内で非同期処理をより直感的に記述するための構文。async
関数内でawait
キーワードを使用してPromiseの完了を待ち、その結果を取得できる。await
キーワードを使用すると、コードが非同期操作が完了するまで一時停止する。
非同期操作が成功(resolve)した場合、その結果を取得できる。
失敗(reject)した場合は、エラーハンドリングが行われる。
以下は async/await
の例:
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('エラー: ' + error);
}
}
fetchData();
このコードでは、await
キーワードを使用してHTTPリクエストの完了を待ち、その後データを取得して表示している。
async/await
を使用すると、非同期コードが直感的で読みやすくなり、エラーハンドリングが簡単に行える。
非同期処理の順序を制御し、コールバック地獄(callback hell)を回避するのに役立つ。