Встречается на собеседованиях • сегодня
Может ли Promise никогда не закончиться
Да, Promise может никогда не завершиться, если не вызвать `resolve` или `reject`. Например:
```javascript
const eternalPromise = new Promise((resolve, reject) => {
// Ничего не делаем - Promise останется в pending
});
console.log(eternalPromise); // Promise { }
```
Причины:
- Забыли вызвать `resolve/reject`
- Условие для вызова никогда не выполняется
- Бесконечный цикл внутри Promise
Такой Promise не вызовет ни `.then`, ни `.catch`, ни `finally`. Это может привести к утечкам памяти, если на него есть ссылки.
Рекомендации:
- Всегда добавлять таймаут для критичных Promise
- Использовать `Promise.race` с таймаутом
- Отслеживать "зависшие" Promise через логгеры

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы