dollar
@dollar
Делай добро и бросай его в воду.

Событие нового дня?

Есть ли событие, которое срабатывает при переходе на новый день в локальном времени? То есть в полночь.

Если, скажем, сделать setTimeout на разницу между текущим временем и полночью, то он сработает достаточно точно? Это будет точнее, чем каждую секунду проверять и сравнивать текущее время? То есть всякие подвисания браузера не повлияют на это?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
Xuxicheta
@Xuxicheta
инженер
setTimeout дает гарантию, что коллбек выполнится не раньше, чем через указанное число милисекунд.

Коллбеки истекших таймаутов вызываются в начале цикла событий. Т.е. не могут быть вызваны прежде чем текущй цикл закончится.

Особо хитрые браузеры вообще умеют замораживать таймауты в неактивных вкладках.
Т.е. ну ты понел, на setTimeout надейся, а секунды все равно проверяй.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Повлияют. Как и любые зависания.
Не знаю вашей задачи, но думаю лучше будет запускать задачу каждую минуту (или сикунду, зависит от той точности что вам нужна) и сравнивать день на прошлой и на текущей итерации
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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