Heim  >  Artikel  >  Web-Frontend  >  Wie führe ich setInterval in JavaScript ohne anfängliche Verzögerung aus?

Wie führe ich setInterval in JavaScript ohne anfängliche Verzögerung aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-09 13:44:02819Durchsuche

How to Execute setInterval in JavaScript Without an Initial Delay?

setInterval ohne anfängliche Verzögerung ausführen

In JavaScript wiederholt die setInterval-Methode eine Funktionsausführung in angegebenen Intervallen. Allerdings kommt es standardmäßig zu einer merklichen Verzögerung vor der ersten Ausführung. In diesem Artikel werden Möglichkeiten zur Beseitigung dieser Verzögerung untersucht.

Es ist zwar möglich, die Funktion vor dem Starten des Timers manuell aufzurufen, dies ist jedoch nicht ideal und kann leicht vergessen werden. Ein effektiverer Ansatz besteht darin, setTimeout innerhalb der Funktion selbst zu verwenden:

function foo() {
   // Execute function body
   // ...

   // Schedule subsequent execution
   setTimeout(foo, delay);
}

// Start the cycle
foo();

Dieser Ansatz gewährleistet ein konsistentes Intervall zwischen Funktionsausführungen und bietet gleichzeitig die Flexibilität, die Schleife zu beenden, indem der setTimeout-Aufruf bei Bedarf weggelassen wird.

Alternativ kann ein sofort aufgerufener Funktionsausdruck (IIFE) verwendet werden, um die Schleife in einem einzigen Schritt zu erstellen und zu starten Schritt:

(function foo() {
    ...
    setTimeout(foo, delay);
})();

Diese Methode eliminiert die anfängliche Verzögerung und vereinfacht den Einrichtungsprozess, indem die Funktion und der Ausführungsplan in einem eigenständigen Block gekapselt werden. Unabhängig davon, ob Sie den direkten Aufruf, die setTimeout-Methode oder den IIFE-Ansatz bevorzugen, bieten diese Techniken praktische Lösungen für die Ausführung von setInterval ohne die unerwünschte anfängliche Verzögerung.

Das obige ist der detaillierte Inhalt vonWie führe ich setInterval in JavaScript ohne anfängliche Verzögerung aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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