データを受け取ってから次の処理をしたいときにasync/awaitを使う
async function fetchUserData() {
// ここで「データが返ってくるまで待つ」
const res = await fetch('/api/user');
const data = await res.json();
// データを受け取ってから次の処理へ
console.log('ユーザー名:', data.name);
// ここで受け取ったデータを使って何かする(画面表示とか)
}
この場合、
-
fetch()が終わってレスポンスを受け取るまで待つ
-
res.json()でデータをJSONに変換するのを待つ
-
そのあとでやっとconsole.logなどの次の処理が走る
まとめると
-
fetch()とres.json()はどちらもPromiseを返す非同期処理 -
Promiseは「結果がまだ返ってきていないけど、後で返す約束の箱」のようなもの
-
だから
awaitを使って、そのPromiseが終わるまで待つ必要がある -
asyncは、その関数の中でawaitを使うために必要な合図