Как запустить таймер на стороне сервера - PullRequest
0 голосов
/ 09 февраля 2019

Я бы хотел, чтобы таймер обратного отсчета всегда показывал обратный отсчет для каждого нового пользователя.Обычно, если я закрываю веб-страницу и открываю ее снова, таймер все еще должен работать.Я подумываю об использовании функций с переменным кодом JS, чтобы определить часовой пояс нового клиента вместе с комментарием оператора if и сделать его циклом повторения?

В принципе, я хотел бы запустить таймер на стороне сервера,не на стороне клиента.

Кто-нибудь делал это раньше?

1 Ответ

0 голосов
/ 10 февраля 2019

Звучит то, что вы можете попытаться решить с помощью браузера localStorage.Если ваше единственное требование состоит в том, чтобы сохранить сохраненное время доступным после того, как вы закроете вкладку / браузер и вернетесь на свою страницу, это вам подойдет.

Вот небольшой пример кода Codesandbox, как выполнить условную проверку и сохранитьв localStorage и затем запустите счетчик на основе этого значения.

https://codesandbox.io/s/4xw97q02m0

РЕДАКТИРОВАТЬ : тот же код, вставленный в сообщение

function setCurrentTime(){
  let localStore = window.localStorage.getItem("myTime") // Check if already exists
  if(localStore) return localStore
  const time = Date.now(); // get current time stamp
  window.localStorage.setItem("myTime", time) // Save to localStorage
  return time
}

function startCount(){
  const time = setCurrentTime()
  const elem = document.getElementById("app")

  setInterval(() => {
    elem.innerHTML = `seconds since time saved: 
     ${Math.floor((Date.now() - time) / 1000)}
    `
  }, 1000)
}
startCount()
<div id="app"></div>
...