Как реализовать Promise, который всегда успешно возвращает значение 1?

Достаточно Promise.resolve(1): он создаёт уже выполненный Promise со значением 1. Обработчик then всё равно вызывается асинхронно через очередь микрозадач.

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

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

Достаточно Promise.resolve(1): он создаёт уже выполненный Promise со значением 1. Обработчик then всё равно вызывается асинхронно через очередь микрозадач.

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

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

Достаточно Promise.resolve(1): он создаёт уже выполненный Promise со значением 1. Обработчик then всё равно вызывается асинхронно через очередь микрозадач.

const promise = Promise.resolve(1);
promise.then(value => console.log(value)); // 1

Эквивалентный, но избыточный вариант — new Promise(resolve => resolve(1)). Если нужна функция, создающая такой результат, используйте const getOne = () => Promise.resolve(1). Ошибки последующих обработчиков могут отклонить уже другую, производную цепочку.

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

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

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

Подробнее