Встречается на собеседованиях • сегодня

Что будет, если поместить таймер в 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.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы