首頁 > web前端 > js教程 > js與伺服器時間同步的步奏詳解

js與伺服器時間同步的步奏詳解

php中世界最好的语言
發布: 2018-04-17 16:44:54
原創
1551 人瀏覽過

這次帶給大家js與伺服器時間同步的步奏詳解,js與伺服器時間同步的注意事項有哪些,以下就是實戰案例,一起來看一下。

方案1:每次倒數去服務端請求時間

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

這個方案對於稍微有點經驗的開發人員來說,都知道是不可取的。因為這會對伺服器造成無法想像的壓力,導致應用程式崩潰。在這個頁面停留一分鐘,那麼請求就發送了60次,假如此時有100個人在訪問這個頁面,那麼一分鐘就有6000條請求,人數如果再增長,這絕對會造成不必要的伺服器壓力。而這個方案的倒數計時,也會存在很大的誤差,因為請求存在延遲,跟你的網路狀態也有很大的關係。

方案2:從服務端傳回以伺服器時間為基準的倒數計時時間戳記

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

優點:

在頁面生命週期中請求一次
準確度高,就算頁面打開很久還是保持高準確度
缺點:

# 由於每秒取得當前時間,假如刻意在倒數時段內,修改了本地時間將會導致倒數異常。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

angularJS Ionic實作行動端圖片上傳功能

BootStrap Validator在JS中操作校驗功能

以上是js與伺服器時間同步的步奏詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板