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

Подходит ли setInterval для создания таймера на странице

setInterval можно использовать для таймера, но с осторожностью. Основные проблемы:

  1. Неточность: setInterval не гарантирует точное время между вызовами, особенно если вкладка неактивна или есть нагрузка на процессор.

  2. Накопление ошибок: Если колбэк выполняется дольше интервала, вызовы будут накладываться.

Лучше использовать рекурсивный setTimeout или requestAnimationFrame для анимаций:

javascript
function updateTimer() {
  // Логика таймера
  setTimeout(updateTimer, 1000);
}
updateTimer();

Для точных таймеров (например, обратного отсчета) лучше вычислять разницу между временными метками:

javascript
const endTime = Date.now() + 30000; // 30 секунд

function update() {
  const remaining = endTime - Date.now();
  if (remaining <= 0) {
    console.log('Время вышло!');
    return;
  }
  setTimeout(update, 100);
}
update();
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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