Maison  >  Article  >  interface Web  >  js exemple de synchronisation de l'heure du serveur haute efficacité

js exemple de synchronisation de l'heure du serveur haute efficacité

小云云
小云云original
2018-02-12 09:23:042046parcourir

Cet article partage principalement avec vous un code de fonction de compte à rebours js. Tout d'abord, parlons de la raison pour laquelle l'heure du serveur est synchronisée, car il existe un certain décalage horaire entre l'heure du serveur et l'heure de l'ordinateur local. Certaines applications qui ont des exigences très élevées en matière de rapidité, comme les résultats de loterie, ne peuvent pas tolérer ce type de décalage horaire.

Option 1 : Aller sur le serveur pour demander l'heure à chaque compte à rebours


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

Cette solution est connue des développeurs avec un peu d'expérience. Déconseillée. . Parce que cela exercera une pression inimaginable sur le serveur et provoquera le crash de l’application. Si vous restez sur cette page pendant une minute, la demande sera envoyée 60 fois. Si 100 personnes visitent cette page à ce moment-là, il y aura 6 000 demandes en une minute. Si le nombre de personnes augmente à nouveau, ce sera certainement le cas. provoquer une pression inutile sur le serveur. De plus, le compte à rebours de cette solution comportera également une erreur importante, car il y a un retard dans la demande, qui est également étroitement lié à l'état de votre réseau.

Option 2 : Renvoyer un horodatage de compte à rebours basé sur l'heure du serveur depuis le serveur


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

Avantages :

sur la page Demande une fois dans le cycle de vie
Haute précision, même si la page est ouverte pendant une longue période, elle conservera toujours une grande précision
Inconvénients :

Puisque l'heure actuelle est obtenue toutes les secondes, si le l'heure locale est délibérément modifiée pendant la période du compte à rebours. Cela entraînera une exception de compte à rebours.

Recommandations associées :

Code de compte à rebours anti-rafraîchissement js Code de compte à rebours js

Code d'implémentation de l'applet de compte à rebours js

js compte à rebours rush sale example_javascript skills


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn