時間を監視し、5分ごとにトリガーする(実際には5分-1秒、たとえばxx:59など)高精度のタイマー/クロックが必要でした。非同期である必要があったのは、5分のマークのトリガーがバックグラウンドでタスクを実行する機能を呼び出すためです。5分ごとにトリガーを持つタイマー
だから私はこのスーパーシンプルなルーチンを思いついた。私はフィードバックを探しています。私は何か違うことをしなければなりませんか?これは実稼働環境で使用するのに十分な信頼できるソリューションですか?勧告や批判は大歓迎です。良い、悪い、または無関心!
**編集:私はおそらくという名前の関数としての関数を定義し、その後のsetIntervalになり 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 [49]:59.0またはX :x [49]:59.999 - ほとんど差がありません –
ページがフォーカスを失った場合、これは非常に不正確です。私はrequestAnimationFrameが助けるかもしれないと思ったが、それはない –