Какие состояния может принимать промис в JavaScript?

Какие состояния может принимать промис в JavaScript? асинхронный JavaScript 3 основных состояния: pending — операция еще выполняется fulfilled — операция завершена успешно, результат получен rejected — операция…

Короткий ответ

Что ответить на собеседовании

Какие состояния может принимать промис в JavaScript? асинхронный JavaScript 3 основных состояния: pending — операция еще выполняется fulfilled — операция завершена успешно, результат получен rejected — операция завершилась ошибкой или была отклонена состояние меняется только один раз и не возвращается к предыдущему цепочка обработчиков .then/.catch запускается после выхода из pending позволяет управлять асинхронными операциями и обрабатывать ошибки

Подробный разбор

Ответ с пояснениями

Какие состояния может принимать промис в 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+ это позволяет корректно выстраивать последовательность задач и обрабатывать ошибки в приложениях, использующих промисы.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку