До этого момента мы писали код в предположении, что всё хорошо: сервер ответит, JSON распарсится, данные придут. В реальности так бывает не всегда. Сеть отваливается, сервер падает, ввод пользователя не проходит валидацию, токен протух. Половина качества клиентского кода — в том, насколько внятно он реагирует на «всё пошло не так».
Четыре главы модуля закрывают четыре разных вопроса:
- 6.1 — почему fetch не считает 404 ошибкой и зачем нужна проверка response.ok;
- 6.2 — чем отличаются HTTP-ошибки и сетевые, как обе обрабатывать через try/catch;
- 6.3 — как читать тело ошибки от сервера, чтобы показать пользователю что-то осмысленнее, чем «что-то пошло не так»;
- 6.4 — как отменять зависшие запросы через AbortController и делать таймауты.
После этого модуля код, который вы пишете, будет переживать любые гадости в сети без падений и с понятными сообщениями для пользователя.