Объявление переменной, содержащей отложенный Promise

Внутри Promise передайте setTimeout функцию, вызывающую resolve(1). До таймера Promise остаётся pending; задержка не гарантирует точного времени выполнения callback.

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

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

Внутри Promise передайте setTimeout функцию, вызывающую resolve(1). До таймера Promise остаётся pending; задержка не гарантирует точного времени выполнения callback.

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

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

Условие

Требуется создать переменную, в которой будет храниться объект Promise. Этот Promise должен завершаться успешно, возвращая значение 1, но только после задержки, реализованной через setTimeout().

Ответ

Внутри Promise передайте setTimeout функцию, вызывающую resolve(1). До таймера Promise остаётся pending; задержка не гарантирует точного времени выполнения callback.

Пример с 1000 мс:

const promise = new Promise(resolve => {
    setTimeout(() => resolve(1), 1000);
});
promise.then(value => console.log(value));

setTimeout(resolve(1), 1000) был бы неверен: resolve вызвался бы немедленно. Фактическая обработка таймера может задержаться из-за занятости event loop. После выполнения callback значение Promise станет 1.

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

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

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

Подробнее