2017-08-02 143 views
0

我正在研究nodejs中的某些內容,包括每分鐘檢查一次數據庫中的時間。要做到這一點,我首先啓動服務器以使setInterval儘可能地接近最小值,然後獲得settimeout。但是,啓動我的setinterval的settimeout回調將立即啓動,而不是等待。立即執行setTimeout回調

setTimeout(function(){ 
    console.log('starting time checks'); 
    setInterval(afterdelay,60*1000); 
}, 60-new Date(Date.now()).getSeconds()); 

回答

2

setTimeout回調的第二個參數是時間,以毫秒爲單位,定時器應在規定的函數之前等待或者執行代碼:

setTimeout(function(){ 
    console.log('starting time checks'); 
    setInterval(afterdelay, 60*1000); 
}, 60000); 

但是,如果你想運行afterdelay功能應用程序啓動後分鍾,你可以使用setInterval沒有setTimeout

setInterval(afterdelay, 60000); 
+0

我確實秒,而不是毫秒。謝謝。 –