非同期のエラーを捕まえる

実践JavaScript / 全 5

実践JavaScript - 非同期のエラーを捕まえる

失敗を伝えるのは throw

async 関数の中で throw すると、その関数が返す Promise は失敗した状態になります。fetch はサーバーがエラーを返しても失敗扱いにしないので、状態を自分で見て投げます。

投げる側はこれで済みます。受け止める側を次の枚で書きます。

通信が届いても中身が 500 のことがあるので、res.ok を見てから投げます。

async function fetchWorks() { const res = await fetch("/api/works"); if (!res.ok) { throw new Error("作品データを取得できませんでした"); } return res.json(); }

1 / 5

このスライドが付いているレッスンを開く