Heim >Web-Frontend >js-Tutorial >Wie kann ich eine JavaScript-Funktion in regelmäßigen Abständen rekursiv ausführen?
In JavaScript können Sie mit der Funktion setTimeout() einen Funktionsaufruf zu einem vordefinierten Zeitpunkt planen. Dies ist nützlich, wenn Sie eine Aktion nach einer bestimmten Verzögerung ausführen müssen. Was aber, wenn Sie eine Funktion in regelmäßigen Abständen wiederholt ausführen möchten?
Ein Ansatz besteht darin, die Funktion setInterval() zu verwenden:
setInterval(function, delay)
Diese Funktion ruft kontinuierlich die angegebene Rückruffunktion auf das angegebene Zeitintervall. Bei dieser Methode können jedoch Probleme auftreten, wenn die Ausführungszeit der Funktion das Intervall überschreitet.
Ein zuverlässigerer Ansatz ist die Verwendung von setTimeout() in Verbindung mit einer selbstausführenden anonymen Funktion:
(function(){ // Your code goes here setTimeout(arguments.callee, 60000); })();
Diese Funktion plant den nächsten Aufruf derselben Funktion nach dem angegebenen Intervall. Es stellt außerdem sicher, dass der nachfolgende Aufruf erst erfolgt, wenn die aktuelle Funktionsausführung abgeschlossen ist. Die Referenz arguments.callee wird verwendet, um die Funktion erneut aufzurufen, sie ist jedoch in Ecmascript 5 veraltet. Eine bessere Alternative besteht darin, eine benannte Funktion zu verwenden und im setTimeout-Aufruf darauf zu verweisen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine JavaScript-Funktion in regelmäßigen Abständen rekursiv ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!