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

Как написать Promise который никогда не закончится

javascript
const neverEndingPromise = new Promise(() => {});
// или
const infinitePromise = new Promise((resolve, reject) => {
  // Никогда не вызываем resolve/reject
});

Такой промис останется в состоянии "pending" навсегда, так как:

  1. Не вызываются ни resolve, ни reject
  2. Нет таймаутов или других условий завершения
  3. Это может быть полезно для тестирования или как заглушка

Пример использования:

javascript
const timeout = (promise, ms) => 
  Promise.race([
    promise,
    new Promise((_, reject) => 
      setTimeout(() => reject(new Error('Timeout')), ms)
  ]);

// Будет всегда падать с таймаутом
timeout(neverEndingPromise, 1000).catch(console.error);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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