Junior
42
questionbank

Как можно обработать ошибку (reject) промиса при использовании await?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

При использовании await с промисом, ошибки (reject) могут быть обработаны несколькими способами:

  1. Конструкция try...catch: Наиболее распространенный и рекомендуемый способ. Позволяет элегантно перехватить ошибку, выброшенную при разрешении (resolve) или отклонении (reject) промиса.

    javascript
  2. Метод .catch() после await: Менее предпочтительный, но возможный вариант. Ошибка будет обработана в колбэке .catch(), если промис отклонен.

    javascript

    Этот подход может стать громоздким при обработке множества потенциальных точек отказа.

  3. Обработка с возвращаемым значением ошибки: Некоторые библиотеки или собственные функции могут возвращать кортеж [данные, ошибка] вместо отклонения промиса.

    javascript

    Этот паттерн (часто называемый "error-first callback" или "go-style error handling") удобен, когда требуется обрабатывать ошибки локально без прерывания выполнения функции.

Наиболее чистым и читабельным способом является использование try...catch вокруг блока кода, содержащего await.