Как проверить последовательность then у MyPromise

Ожидается sync, first, second. Первый then возвращает новый Promise, и второй обработчик должен ждать завершения первого звена.

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

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

Ожидается sync, first, second. Первый then возвращает новый Promise, и второй обработчик должен ждать завершения первого звена.

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

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

Условие

Учебный MyPromise разрешается через setTimeout(resolve, 0). К нему присоединены два then, печатающие first и second, а после цепочки синхронно печатается sync. Какой порядок должен быть?

Ответ

Ожидается sync, first, second. Первый then возвращает новый Promise, и второй обработчик должен ждать завершения первого звена.

После resolve нужно обработать сохранённые подписки, но не вызывать их синхронно в момент регистрации. Возвращаемое значение handler разрешает следующий Promise, выброшенная ошибка его отклоняет. Если handler возвращает Promise, цепочка принимает его итоговое состояние. Отдельно проверьте подписку после завершения и несколько независимых then на одном исходном объекте.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее