Wenn es Ihnen egal ist, ob der Code innerhalb von timer
möglicherweise länger als Ihr Intervall dauert, verwenden Sie setInterval()
:
setInterval(function, delay)
Dadurch wird die als erster Parameter übergebene Funktion immer wieder ausgelöst.
Ein besserer Ansatz ist, setTimeout
zusammen mit einer self-executing anonymous
Funktion zu verwenden:
(function(){
// do some stuff
setTimeout(arguments.callee, 60000);
})();
Dies garantiert, dass der nächste Aufruf nicht erfolgt, bevor Ihr Code ausgeführt wurde. Ich habe arguments.callee
in diesem Beispiel als Funktionsreferenz verwendet. Es ist eine bessere Möglichkeit, der Funktion einen Namen zu geben und diese innerhalb aufzurufen, setTimeout
da arguments.callee
sie in Ecmascript 5 veraltet ist.
clearInterval()
ist eine PartnerfunktionsetInterval()
und nützlich, wenn Sie Ihren regelmäßigen Funktionsaufruf beenden möchten.benutze die
BEARBEITEN: (Falls Sie die Uhr nach dem Start stoppen möchten)
Skriptabschnitt
und HTML-Code
quelle
Eine bessere Verwendung der Antwort von jAndy zur Implementierung einer Abfragefunktion , die alle Sekunden abfragt und nach Sekunden endet .
interval
timeout
AKTUALISIEREN
Aktualisieren Sie den Kommentar gemäß dem Kommentar, damit die übergebene Funktion die Abfrage stoppen kann:
quelle
sendHeartBeat
?interval
undtimeout
sind in Millisekunden, nicht wahr?In jQuery können Sie dies tun.
quelle
// Change Interval here to test. For eg: 5000 for 5 sec
Derzeit wird die Einstellung alle 6 Sekunden festgelegt. Verwenden Sie den Wert 60000 für eine Minuteist die Methode, nach der Sie suchen.
quelle
Sie können setTimeout einfach am Ende der Funktion aufrufen. Dadurch wird es erneut zur Ereigniswarteschlange hinzugefügt. Sie können jede Art von Logik verwenden, um die Verzögerungswerte zu variieren. Beispielsweise,
quelle
Verwenden Sie
window.setInterval(func, time)
.quelle
quelle
quelle
quelle
hier trösten wir die natürliche Zahl 0 bis ...... n (nächste Zahl wird alle 60 Sekunden in der Konsole gedruckt), wobei setInterval () verwendet wird.
quelle
Es gibt zwei Möglichkeiten anzurufen:
setInterval(function (){ functionName();}, 60000);
setInterval(functionName, 60000);
Die obige Funktion wird alle 60 Sekunden aufgerufen.
quelle