Heim  >  Artikel  >  Web-Frontend  >  Beispiel für eine hocheffiziente Server-Zeitsynchronisierung mit js

Beispiel für eine hocheffiziente Server-Zeitsynchronisierung mit js

小云云
小云云Original
2018-02-12 09:23:042042Durchsuche

Dieser Artikel teilt Ihnen hauptsächlich einen js-Countdown-Funktionscode mit. Lassen Sie uns zunächst darüber sprechen, warum die Serverzeit synchronisiert wird, da zwischen der Serverzeit und der lokalen Computerzeit ein gewisser Zeitunterschied besteht. Einige Anwendungen, die sehr hohe Aktualitätsanforderungen haben, wie z. B. Lotterieergebnisse, können diese Art von Zeitunterschied nicht tolerieren.

Option 1: Gehen Sie zum Server, um bei jedem Countdown die Uhrzeit anzufordern


//开启定时器
var timer = setInterval(function () {  
  //执行请求,获取当前服务端时间并进行相应操作
}, 1000);

Diese Lösung ist für Entwickler mit etwas Erfahrung nicht ratsam . Denn dadurch wird der Server unvorstellbar belastet und die Anwendung abstürzt. Wenn Sie eine Minute auf dieser Seite bleiben, wird die Anfrage 60 Mal gesendet. Wenn zu diesem Zeitpunkt 100 Personen diese Seite besuchen, werden in einer Minute 6.000 Anfragen gesendet verursachen auf jeden Fall unnötigen Druck auf den Server. Darüber hinaus weist der Countdown dieser Lösung auch einen großen Fehler auf, da es zu einer Verzögerung bei der Anfrage kommt, die auch eng mit Ihrem Netzwerkstatus zusammenhängt.

Option 2: Einen Countdown-Zeitstempel basierend auf der Serverzeit vom Server zurückgeben


//开启定时器
//假设请求获取到一个时间戳时间差 dateDiff
var timer = setInterval(function () {
  //每秒会获取本地时间,这样就算执行的周期不准确 也可以准确的获取时间差
  var countDown = endTime - (+Date.now())/1000 + dateDiff;
  // 倒计时页面渲染
}, 1000);

Vorteile:

auf der Seite „Anfrage“. einmal im Lebenszyklus
Hohe Genauigkeit, auch wenn die Seite über einen längeren Zeitraum geöffnet ist, behält sie dennoch eine hohe Genauigkeit bei
Nachteile:

Da die aktuelle Zeit jede Sekunde abgerufen wird, wenn die Die Ortszeit wird während des Countdown-Zeitraums absichtlich geändert. Dies führt zu einer Countdown-Ausnahme.

Verwandte Empfehlungen:

js Anti-Refresh-Countdown-Code js Countdown-Code

js Countdown-Applet-Implementierungscode

JS Countdown Rush Sale Beispiel_Javascript-Kenntnisse


Das obige ist der detaillierte Inhalt vonBeispiel für eine hocheffiziente Server-Zeitsynchronisierung mit js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn