Verstehen der setInterval-Funktion und ihrer Ausführung
Die setInterval-Funktion ist ein nützliches Tool zum Planen von Aufgaben, die in JavaScript in regelmäßigen Abständen ausgeführt werden sollen. Entwickler können jedoch auf Probleme stoßen, bei denen die Rückruffunktion scheinbar nur einmal statt kontinuierlich ausgeführt wird.
Das Problem: Rückruf wird nicht wie erwartet ausgeführt
Ein häufiger Grund dafür Verhalten ist eine falsche Verwendung des setInterval-Funktionsaufrufs. Der Rückruf sollte eine Funktionsreferenz und kein Funktionsaufruf sein.
Erklärung: Funktionsaufruf vs. Referenz
Im Fall des bereitgestellten Beispiels:
window.setInterval(timer(), 1000)
Nach der Timer-Funktion fehlt eine Klammer, was dazu führt, dass es sich um einen Funktionsaufruf und nicht um eine Referenz handelt. Dies führt zur sofortigen Ausführung der Timer-Funktion und legt anschließend das Intervall für das ausgeführte Ergebnis fest, das undefiniert ist.
Lösung: Korrektur der Syntax
Um dies zu korrigieren Um den Rückruf auszugeben und eine kontinuierliche Ausführung sicherzustellen, verwenden Sie eine Funktionsreferenz wie folgt:
window.setInterval(timer, 1000);
Alternativ können Sie eine anonyme Funktion als verwenden Rückruf, der kürzer ist, aber die Lesbarkeit für größere Funktionen beeinträchtigen kann:
window.setInterval( function() { console.log("timer!"); }, 1000)
Dadurch wird sichergestellt, dass die Timerfunktion so geplant ist, dass sie im angegebenen Intervall von 1000 Millisekunden ausgeführt wird.
Das obige ist der detaillierte Inhalt vonWarum wird meine setInterval-Funktion nur einmal ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!