Sobes.tech
Назад к вопросам
Middle
2

Можно ли внутри then обработать состояние rejected промиса? В чём разница между обработкой reject во втором колбеке then и в catch?

Компании, где спрашивали
Лига Цифровой ЭкономикиЛига Цифровой Экономики

Ответ от нейросети

sobes.tech AI

Да, внутри then можно обработать состояние rejected, передав второй колбек в then:

promise.then(
  result => { /* обработка успешного результата */ },
  error => { /* обработка ошибки */ }
);

Разница между обработкой reject во втором колбеке then и в catch:

  • Второй колбек then обрабатывает только ошибку, возникшую в исходном промисе.
  • catch ловит ошибки, возникшие как в исходном промисе, так и в любом предыдущем then, если они не были обработаны.

Таким образом, catch удобнее для централизованной обработки ошибок, а второй колбек then — для локальной обработки ошибок конкретного промиса.