Warum wird der setInterval-Callback nur einmal ausgeführt?
Bedenken Sie das folgende Problem: Sie versuchen, eine Endlosschleife mit einem Zähler zu erstellen mit setInterval. Die Rückruffunktion wird jedoch nur einmal ausgeführt. Was könnte schiefgehen?
Der bereitgestellte Code lautet:
function timer() { console.log("timer!") } window.setInterval(timer(), 1000)
Der Fehler rührt von der Verwendung eines Funktionsaufrufs anstelle einer Funktionsreferenz als erstes Argument von setInterval her.
Richtige Verwendung:
Um dies zu beheben, müssen Sie die Funktionsreferenz selbst übergeben, z also:
function timer() { console.log("timer!"); } window.setInterval(timer, 1000);
Alternativ können Sie auch die folgende kürzere Syntax verwenden:
window.setInterval( function() { console.log("timer!"); }, 1000)
Das obige ist der detaillierte Inhalt vonWarum führt „setInterval' meinen Rückruf nur einmal aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!