Хватит писать try/catch вокруг fetch: история о том, как я устал ловить ошибки
Каждый фронтендер знает эту боль: пишешь запрос через fetch - и автоматически добавляешь try/catch . Где-то ловишь TypeError , где-то 500-й статус, где-то подвисший запрос с AbortController . В итоге половина кода в проекте - это обработка ошибок, а не бизнес-логика. Я прожил с этим годами. Чем больше становился проект, тем больше росла копипаста: таймауты, ретраи, проверки на res.ok , костыли для разных браузеров. Одно и то же, снова и снова. И вот в какой-то момент я понял: проблема не в том, что ошибки случаются. Проблема в том, что сам fetch вынуждает нас ловить их вручную, каждый раз, в каждом запросе. Так появилась библиотека @asouei /safe-fetch . Маленькая (3kb), без зависимостей, но с тем, чего нет у самого fetch : общий таймаут, умные ретраи, нормализованные ошибки и поддержка Retry-After . 🌟 Библиотека добавлена в Awesome TypeScript — один из крупнейших мировых списков лучших TypeScript-проектов Как я решил проблему
https://habr.com/ru/articles/943732/
#fetch #javascript #typescript #обработка_ошибок #http_запросы #retry #timeout #frontend #axios #open_source