2017-08-02 1 views
0

Ich arbeite an etwas in NodeJs, die Zeiten in einer Datenbank auf die Minute pro Minute überprüft. Um dies zu tun, habe ich eine Zeitüberschreitung beim ersten Start des Servers, damit mein setInterval so nah wie möglich an der Minute ist. Der settimeout-Callback, der mein setinterval startet, feuert jedoch sofort, anstatt überhaupt zu warten.setTimeout Callback sofort ausgeführt

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

Antwort

2

Der zweite Parameter von setTimeout Rückruf ist die Zeit in Millisekunden an, sollte der Timer warten, bevor die angegebene Funktion oder Code ausgeführt:

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

Aber, wenn Sie afterdelay Funktion ein ausführen möchten

setInterval(afterdelay, 60000); 
+0

ich habe Sekunden statt miliseconds: Minute nach App startet, können Sie setInterval ohne setTimeout verwenden. Vielen Dank. –

Verwandte Themen