Какие состояния может принимать промис в JavaScript? асинхронный JavaScript 3 основных состояния: pending — операция еще выполняется fulfilled — операция завершена успешно, результат получен rejected — операция завершилась ошибкой или была отклонена состояние меняется только один раз и не возвращается к предыдущему цепочка обработчиков .then/.catch запускается после выхода из pending позволяет управлять асинхронными операциями и обрабатывать ошибки
Какие состояния может принимать промис в JavaScript?
Какие состояния может принимать промис в JavaScript? асинхронный JavaScript 3 основных состояния: pending — операция еще выполняется fulfilled — операция завершена успешно, результат получен rejected — операция…
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Какие состояния может принимать промис в JavaScript?
- асинхронный JavaScript
- 3 основных состояния:
- pending — операция еще выполняется
- fulfilled — операция завершена успешно, результат получен
- rejected — операция завершилась ошибкой или была отклонена
- состояние меняется только один раз и не возвращается к предыдущему
- цепочка обработчиков .then/.catch запускается после выхода из pending
- позволяет управлять асинхронными операциями и обрабатывать ошибки
Знание состояний промиса — основа работы с асинхронным кодом и управления им в JS.
Развёрнутый ответ
Краткий ответ
В JavaScript промис (Promise) проходит через одно из трёх базовых состояний, описывающих жизненный цикл асинхронной операции — от создания объекта до её завершения.
Что важно знать
- Pending (Ожидание) — исходное состояние созданного промиса. Асинхронная операция еще продолжается, поэтому её результат пока неизвестен.
- Fulfilled (Выполнено) — промис переходит в это состояние после успешного завершения асинхронной операции и получает конкретное значение (value).
- Rejected (Отклонено) — это результат завершения операции с ошибкой: промис отклоняется и содержит причину отказа (error).
Смена состояния выполняется однократно и необратимо: после перехода из pending в fulfilled либо rejected промис больше не может изменить своё состояние. Благодаря этому его поведение остается предсказуемым.
Применение на практике
Понимание состояний промиса необходимо для правильной обработки асинхронных результатов, в частности с использованием методов .then() для fulfilled и .catch() для rejected. В React 18+ и Node.js 18+ это позволяет корректно выстраивать последовательность задач и обрабатывать ошибки в приложениях, использующих промисы.