非同期関数と 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)を回避するのに役立つ。

