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); // false1 / 5
← → キーでも送れます