Heim > Web-Frontend > js-Tutorial > Warum wird meine setInterval-Funktion nur einmal ausgeführt?

Warum wird meine setInterval-Funktion nur einmal ausgeführt?

Linda Hamilton
Freigeben: 2024-11-28 22:34:11
Original
745 Leute haben es durchsucht

Why Is My setInterval Function Only Running Once?

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 dem Login kopieren

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);
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage