我需要一個高度可靠的定時器/時鐘來監視時間,並在每5分鐘(實際上5分-1秒,例如xx:59)觸發。它需要是異步的,因爲5分鐘處的觸發器將調用一個或多個將在後臺執行任務的函數。定時器每5分鐘觸發一次
所以...我想出了這個超級簡單的例程。我正在尋找反饋。我應該做什麼不同的事情嗎?這是一個可靠的解決方案,用於生產?建議和批評是受歡迎的。好,壞,或無動於衷!
**編輯:忘了這行代碼: minutes = (mminutes < 10 ? "0" : "") + mminutes;
var minuteData,hours,minutes,seconds;
setInterval(function() {
var date = new Date;
hours = date.getHours();
mminutes = date.getMinutes();
seconds = date.getSeconds();
minutes = (mminutes < 10 ? "0" : "") + mminutes;
//get the second digit of minutes
minuteData = minutes.toString()[1];
console.log(minuteData);
//test if at time x4:59 or x9:59, hence 1 sec before the 5min interval
var trigger = ((seconds == 59 && (minuteData == "9" || minuteData == "4")) ? true : false);
console.log(trigger);
//trigger is just a proxy for a task that will be called
}, 1000);
這不會是「精確」的......它可能在x:x [49]:59.0或x :x [49]:59.999 - 幾乎是第二個差異 –
如果頁面失去焦點,您會發現這是非常不準確的。我認爲requestAnimationFrame可能會有所幫助,但它不會 –