一個vue的聊天軟體,采用定時器在線每五分鐘向后臺發起一次請求,呼叫五次之后定時器清除,用戶不退出聊天軟體就讓它一直掛著,第二天怎么自動重新喚起定時器,乞求各位大佬提出寶貴的想法,非常感謝!!!
uj5u.com熱心網友回復:
不重繪頁面的情況可以判斷時間,記錄前一天的時間然后判斷當前時間大于這個時間24小時就執行定時器。重繪頁面每次呼叫定時器就行了。
var time = new Date('2020-08-19')
if (Date.now() - time > 86400000) {
// 執行定時器
}
uj5u.com熱心網友回復:
那第三、第四、第五、、、很多天之后呢,用戶有可能一直掛著uj5u.com熱心網友回復:
清除定時器的時候記錄當天日期 然后 再走一個定時器 獲取當前日期 當兩個日期不同再喚醒之前的定時器 喚醒后清楚后面這個定時器uj5u.com熱心網友回復:
大于24小時把time同時更新不就行了!!!!!uj5u.com熱心網友回復:
setInterval, 5分鐘一次永遠執行設兩個全域變數:上次執行日期(格式YYYYMMDD),執行次數
回呼函式中:
先獲取當前日期,與上次執行日期比較,如果一樣,并且執行次數小于5,則執行業務邏輯,執行次數+1
如果不一樣,執行次數設為0,上次執行日期設為當前日期,執行業務邏輯,執行次數+1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/15376.html
標籤:JavaScript
