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

Могут ли пересечься две tasks в setInterval

Да, могут, если выполнение задачи занимает больше времени, чем интервал между вызовами. Например:

javascript
setInterval(() => {
  console.log('Start task');
  // Долгая операция (например, 1.5 секунды)
  const start = Date.now();
  while (Date.now() - start < 1500) {}
  console.log('End task');
}, 1000);

В этом случае:

  1. Первая задача начнётся через 1 секунду
  2. Пока она выполняется (1.5 сек), пройдёт ещё 1 секунда
  3. Вторая задача запустится параллельно первой, не дожидаясь её завершения

Чтобы избежать этого, можно:

  • Увеличить интервал
  • Использовать рекурсивный setTimeout
  • Проверять, не выполняется ли предыдущая задача
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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