Перейти к содержимому
16 / 27

Как обрабатывать ошибки в Fetch API?

Fetch reject'ит промис только при сетевых ошибках (нет интернета, DNS не резолвится, CORS заблокирован). HTTP-ошибки (404, 500) не вызывают reject -- промис резолвится с response.ok === false. Поэтому после каждого fetch нужно проверять response.ok или response.status и кидать ошибку вручную. Дополнительно нужно обрабатывать ошибки парсинга тела (невалидный JSON) и ошибки отмены через AbortController (AbortError).

Как обрабатывать ошибки в Fetch API? | JScriptiser