Встречается на собеседованиях • сегодня
Что будет, если поместить таймер в Promise
Если поместить таймер (например, setTimeout) внутри Promise, то Promise не завершится, пока не сработает таймер. Promise останется в состоянии pending до вызова resolve или reject внутри коллбэка таймера.
Пример:
javascript
const promiseWithTimer = new Promise((resolve) => {
setTimeout(() => {
resolve('Done after 1 second');
}, 1000);
});
promiseWithTimer.then(console.log); // Выведет "Done after 1 second" через 1 сек
text
Особенности:
1. Promise выполнится только после срабатывания таймера
2. Весь код после Promise продолжит выполняться синхронно
3. Если не вызвать `resolve`/`reject`, Promise останется висеть в `pending`
Для асинхронных операций с таймерами лучше использовать `async/await` с `setTimeout`, обернутым в Promise.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы