Heim > Web-Frontend > js-Tutorial > js effizienter Serverzeitsynchronisierungs-Countdown

js effizienter Serverzeitsynchronisierungs-Countdown

巴扎黑
Freigeben: 2017-09-15 09:27:38
Original
1685 Leute haben es durchsucht

Lassen Sie uns zunächst darüber sprechen, warum wir die Serverzeit synchronisieren müssen, 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: Fordern Sie die Zeit vom Server für jeden Countdown an


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

Diese Lösung ist für Entwickler mit wenig Erfahrung nicht zu empfehlen. 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);
Nach dem Login kopieren

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.

Das obige ist der detaillierte Inhalt vonjs effizienter Serverzeitsynchronisierungs-Countdown. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage