Выбор ответа Junior Промисы и async/await спрашивают часто обновлено

Состояния промиса

Вопрос

Какое утверждение о состояниях промиса верное?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Из pending в fulfilled или rejected ровно один раз, повторные вызовы игнорируются. Состояний три: pending, fulfilled и rejected.

Варианты ответа

  1. Промис может переходить между fulfilled и rejected сколько угодно раз подряд
  2. У промиса два состояния, успех и ошибка, и он сразу находится в одном из них
  3. Из pending в fulfilled или rejected ровно один раз, повторные вызовы игнорируютсяправильный ответ
  4. После rejected промис можно вернуть в pending вызовом retry() и повторить

Разбор

Состояний три: pending, fulfilled и rejected. Переход из pending происходит один раз и навсегда, поэтому промис надёжно передаёт результат: все подписчики, даже поздние, получат одно и то же значение. Повторные resolve/reject не ошибка, они просто ничего не делают. Метода retry у промисов нет: для повтора создают новый промис, вызывая операцию заново.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме