4 креативных способа работы со временем
Омар Алшакер написал статью про свои эксперименты со временем в web'е — "4 Creative Ways to JavaScript Timing in Browsers".
Самое интересное в статье — идея реализации подобия таймера с микросекундным разрешением. Его можно создать с помощью веб-воркера и вызовом метода performance.now()
в бесконечном цикле. Другие советы по сути бесполезные, но интересные с точки зрения изобретательности. Например, можно сделать подобие setInterval
запустив бесконечную анимацию на DOM-элементе и подписавшись на событие animationiteration
. Что-то похожее можно сделать с SVG-элементом, используя SMIL-анимацию, но подписываться надо на событие repeat
. Для реализации своей версии setTimeout
можно использовать KeyframeEffect
из Web Animation API (экспериментальное api).
Статья небольшая и не очень серьёзная. Стоит почитать, если интересна тема нестандартной эксплуатации возможностей web-платформы.
https://blog.omaralshaker.com/creative-ways-to-javascript-timing/