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