Будет выведено 10. Если обработчик then не является функцией, он не преобразует успешный результат и значение передаётся дальше.
Как then с null передаёт значение по цепочке
Будет выведено 10. Если обработчик then не является функцией, он не преобразует успешный результат и значение передаётся дальше.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Что выведет код?
Promise.resolve(5)
.then(null)
.then(value => value * 2)
.then(console.log);
Ответ
Будет выведено 10. Если обработчик then не является функцией, он не преобразует успешный результат и значение передаётся дальше.
Null здесь не означает возврат null: это отсутствие подходящего обработчика. Для реального преобразования в null нужно написать .then(() => null). Аналогично отсутствующий обработчик ошибки не поглощает отклонение; оно распространяется до следующего подходящего catch или второго аргумента then.