Maison > Article > interface Web > js synchronise efficacement l'heure avec le serveur
Cette fois, je vais vous expliquer comment synchroniser efficacement js avec l'heure du serveur. Quelles sont les précautions pour que js se synchronise efficacement avec l'heure du serveur. Voici un cas pratique, jetons un coup d'œil.
Option 1 : Allez sur le serveur pour demander l'heure à chaque compte à rebours
//开启定时器 var timer = setInterval(function () { //执行请求,获取当前服务端时间并进行相应操作 }, 1000);
Cette solution est connue pour être indésirable pour les développeurs ayant un peu d’expérience. 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é au statut de votre réseau.
Option 2 : Renvoyer un compte à rebours basé sur l'heure du serveur à partir de l'horodatage du serveur
//开启定时器 //假设请求获取到一个时间戳时间差 dateDiff var timer = setInterval(function () { //每秒会获取本地时间,这样就算执行的周期不准确 也可以准确的获取时间差 var countDown = endTime - (+Date.now())/1000 + dateDiff; // 倒计时页面渲染 }, 1000);
Avantages :
Demande une fois pendant le cycle de vie de la page
Haute précision, même si la page est ouverte depuis longtemps, elle conservera toujours une grande précision
Inconvénients :
Puisque l'heure actuelle est obtenue toutes les secondes, si l'heure locale est délibérément modifiée pendant la période du compte à rebours, le compte à rebours sera anormal.
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Js+Canvas pour la compression d'images
angularJS+Ionic pour le téléchargement d'images côté mobile ( Code ci-joint)
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!