非同期のエラーを捕まえる
非同期JavaScript:API通信とモジュール / 全 5 枚
非同期JavaScript:API通信とモジュール - 非同期のエラーを捕まえる
失敗を伝えるのは 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
← → キーでも送れます