response.ok と失敗時の表示

非同期JavaScript:API通信とモジュール / 全 5

非同期JavaScript:API通信とモジュール - response.ok と失敗時の表示

失敗しても fetch は成功する

ここがいちばん引っかかる所です。サーバーが 404 や 500 を返しても、fetch から見れば「返事はちゃんと届いた」ので成功として扱われます。エラーとして投げられるのは、回線が切れていて返事そのものが届かなかったときだけです。

成功と失敗を分ける仕事は、書いた人がやることになります。次の枚でその分け方を見ます。

500 が返っても catch には入りません。自分で res.ok を見に行きます。

const res = await fetch("https://yumesaku.tech/course-api/works-500.json"); console.log(res.status); // 500 console.log(res.ok); // false

1 / 5

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