亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

h5中如何在本地一直運行一段計時的腳本,直到頁面關閉才會停止計時

h5中如何在本地一直運行一段計時的腳本,直到頁面關閉才會停止計時

ibeautiful 2018-10-18 13:11:42
最近一個項目中是和android那邊同用一套接口,每個接口是需要一個參數:timestamp傳給后臺進行比較。為了減少服務器的壓力和減少請求次數,需要客戶端本地在接受到一次timestamp后就在本地進行計時,以便在后面的每次接口請求中帶上這個參數,但是我目前沒有采用單頁面的框架,如何才能做到這點呢?
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

setTimeout/setInterval計時是不精確的,傳給后端的時間會有誤差。另一種做法是,你可以在第一次接收到timestamp時將時間戳和當前時間存儲到sessionStorage,比如

var timeCached = sessionStorage.setItem('timeCached', JSON.stringify({    serverTime: timestamp, 
    clientTime: +new Date()
});

然后每次請求時,通過計算

var timeCached = sessionStorage.getItem('timeCached');
// 計算出被發送時的時間戳var newTimestamp=(+new Date() - timeCached.clientTime) + timeCached.timestamp;

就可以得到相對正確的時間戳了。其它的細節,比如時間相減的結果可能要除1000,封裝個函數進行接口請求時計算,這就看你具體情況怎么寫了。


查看完整回答
反對 回復 2018-11-11
  • 1 回答
  • 0 關注
  • 797 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號