zkrvndm
@zkrvndm
Архитектор решений

Какова погрешность таймеров на базе setInterval?

Дело в том, что в одном из проектов я поленился и присобачил таймер на базе setInterval, который раз в секунду ведет обратный отчет. При отсчете примерно 1 часа времени, какова будет возможная погрешность?

Для проекта плюс-минус 10 секунд не играет роли, но если вдруг окажется, что такой таймер способен давать погрешность куда большую, то наверное придется переделывать. К сожалению, я не знаю как на базовом уровне работает setInterval, поэтому прошу мнение экспертов)
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
наверное придется переделывать

Если хотите что-то надёжное - придётся.
Таймеры не гарантируют никакой точности. Всё зависит от того, насколько забит event loop, нагружен ЦП устройства, применяет ли браузер оптимизации неактивных вкладок и так далее.
В идеальных условиях - достаточно точно. Через час максимум пару секунд.
Идеальные условия это:
• Устройство пользователя никогда не подтормаживает,
• В браузере открыто минимум вкладок и вкладка с таймером всегда активна.
• На активной вкладке больше не выполняется никакого кода, кроме таймера.

Во всех остальных условиях - как пойдёт.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы