So steuern Sie Intervalle mit setInterval und clearInterval
Im Zusammenhang mit der Behandlung von Tastaturereignissen stellt sich die Frage nach der angemessenen Verwendung von setInterval und clearInterval zur Verwaltung der Ausführung einer Funktion. Lassen Sie uns die Unterschiede zwischen diesen Methoden untersuchen.
setInterval: Wiederkehrende Timer einrichten
setInterval richtet einen Timer ein, der eine Funktion wiederholt in einem angegebenen Intervall in Millisekunden ausführt. Der folgende Code richtet beispielsweise einen Timer ein, um die Funktion drawAll() alle 20 Millisekunden aufzurufen:
setInterval(drawAll, 20);
Wenn Sie die Funktion jedoch nur einmal aufrufen möchten, ist die Verwendung von setInterval nicht ideal, da sie erzeugt eine Endlosschleife. Um dies zu vermeiden, können Sie „clearInterval“ verwenden.
clearInterval: Timer abbrechen
clearInterval ermöglicht es Ihnen, einen wiederkehrenden Timer zu stoppen. Es akzeptiert ein von setInterval zurückgegebenes Handle als Argument. Indem Sie das Handle auf 0 setzen, können Sie den Timer abbrechen und verhindern, dass er weiter ausgelöst wird:
var handle = setInterval(drawAll, 20); // When you want to cancel it: clearInterval(handle); handle = 0;
SetTimeout für einmalige Ausführung verwenden
Bei Bedarf Um eine Funktion so zu planen, dass sie nur einmal ausgeführt wird, verwenden Sie stattdessen setTimeout. Es bietet ähnliche Funktionen, erzeugt jedoch keine wiederkehrende Schleife. Der folgende Code ruft die Funktion drawAll() einmal nach einer Verzögerung von 20 Millisekunden auf:
setTimeout(drawAll, 20);
Denken Sie daran, dass setInterval zum Erstellen von Timern geeignet ist, die eine Funktion wiederholt ausführen, während clearInterval zum Stoppen solcher Timer verwendet wird. Andererseits wird setTimeout verwendet, um eine Funktion so zu planen, dass sie nur einmal nach einer bestimmten Verzögerung ausgelöst wird.
Das obige ist der detaillierte Inhalt vonWie verwende ich „setInterval' und „clearInterval' für die kontrollierte Funktionsausführung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!