Я занимаюсь разработкой приложения, в котором пользователю необходимо выполнить какое-то действие до завершения обратного отсчета.
Обратный отсчет сайта должен быть синхронизирован c с обратным отсчетом свечей TradingViews. ![enter image description here](https://i.stack.imgur.com/841Hc.png)
- В качестве 1-го варианта я попытался использовать
new Date()
, но он работает некорректно, если время браузера изменилось. Даже разница в 10 с между Время просмотра торговой операции и Время приложения может быть критической. В качестве второго варианта я выбираю время сервера из API приложения и увеличиваю это значение простым методом setInterval()
, но иногда он отстает на 10-20 секунд.
let timestamp = await getServerTime()
setInterval(() => {
timestamp++;
this.currentTimestamp = timestamp
}, 1000);
В качестве третьего варианта я попытался использовать service-worker
для тот же метод setInterval()
и pu sh обновили значение для компонента. Эта опция также запускает лаги после длительного использования.
Я прочитал много советов, но ни один из них не помогает решить этот случай. Знаете ли вы какой-либо способ правильно использовать время на стороне сервера, не отставая?
Заранее спасибо!