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

Есть ли у Promise функционал для принудительного завершения через 5 секунд

Да, у Promise нет встроенного метода для принудительного завершения, но можно реализовать таймаут с помощью Promise.race() и отдельного таймера.

Пример:

javascript
const timeoutPromise = new Promise((_, reject) => {
  setTimeout(() => reject(new Error('Timeout after 5s')), 5000);
});

const fetchData = fetch('https://api.example.com/data');

Promise.race([fetchData, timeoutPromise])
.then(data => console.log(data))
.catch(err => console.error(err)); // Ошибка, если fetch не завершится за 5с

text

**Нюансы:**  
- Таймаут не отменяет исходный запрос — он продолжит выполняться в фоне.  
- Для реальной отмены запроса используй `AbortController` (если API поддерживает).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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