DiamondStudio
@DiamondStudio
Web Developers

Как обойтись без бесконечного цикла?

Собственно, мой вопрос заключается в том, что решение в виде бесконечного цикла выглядит очень неоптимизированным и некрасивым что-ли. Допустим мне нужно реализовать будильник. Не буду же я каждые пол секунды проверять время? Другое решение в голову не приходит. Надо чтобы при достижении определенного времени скрипт сам активировался.
  • Вопрос задан
  • 249 просмотров
Решения вопроса 1
borisdenis
@borisdenis
Ленив и вреден...
К примеру можно использовать таймер, после указания времени во сколько разбудить мы высчитываем через сколько данный таймер должен сработать и запускаем его. Как только таймер сработал - будим человека.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Бесконечный цикл все равно будет, либо ты его напишешь либо его организует библиотека (какой-нибудь асинхронный фреймворк типа react, если что твой ответ можно найти в нем).

В каждом конкретном случае реализовывать нужно будет правильно по своему

С часами все просто - нужно не раз в секунду проверять время, а взять самый короткий интервал и вычислить, сколько до него ждать (время действия минус текущее время) и просто одной командой выставить sleep.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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