Достаточно Promise.resolve(1): он создаёт уже выполненный Promise со значением 1. Обработчик then всё равно вызывается асинхронно через очередь микрозадач.
Как реализовать Promise, который всегда успешно возвращает значение 1?
Достаточно 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). Ошибки последующих обработчиков могут отклонить уже другую, производную цепочку.