Внутри Promise передайте setTimeout функцию, вызывающую resolve(1). До таймера Promise остаётся pending; задержка не гарантирует точного времени выполнения callback.
Объявление переменной, содержащей отложенный Promise
Внутри 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.