需求
設定了監(jiān)控點位置以后就需要按照一定的時間間隔取得設備的位置,并比照設定好的監(jiān)控點,如果有符合條件的監(jiān)控點則觸發(fā)相應的動作。為了實現(xiàn)上述功能首先需要實現(xiàn)按一定時間間隔做某件事的功能--定時器。
說明
function?startTimer(interval, onTimer) {
????var?time =?setTimeout(function?() {
? ??????onTimer();
? ? ??? startTimer(interval, onTimer);
? ????? },
? ? ????interval
??? )
}
函數(shù)startTimer內部調用了setTimeout函數(shù),這個函數(shù)有兩個參數(shù):一個是Timeout發(fā)生時被調用的回調函數(shù)(借用C語言的說法),一個是時間間隔,單位是毫秒。
startTimer執(zhí)行之后,系統(tǒng)開始計時。當指定的事件間隔經(jīng)過以后,回調函數(shù)被執(zhí)行:首先調用onTimer函數(shù),它由startTimer的利用者指定。接下來再次調用startTimer函數(shù),用于啟動下一次定時器動作。如此循環(huán)往復。
使用時就簡單了,例如可以像下面這樣使用startTimer函數(shù)。
onLoad:function(){
? ?startTimer(1000,function(){
? ? ?console.log("OnTimer!")
? ?});
?},
目前雖然只是輸出log,加下來的幾天里,我們會以這里為入口,實現(xiàn)定期取得目前位置,確認監(jiān)控點的功能。





