Maison  >  Article  >  interface Web  >  Comment exécuter setInterval en JavaScript sans délai initial ?

Comment exécuter setInterval en JavaScript sans délai initial ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-09 13:44:02819parcourir

How to Execute setInterval in JavaScript Without an Initial Delay?

Exécution de setInterval sans délai initial

En JavaScript, la méthode setInterval répète l'exécution d'une fonction à des intervalles spécifiés. Cependant, par défaut, il existe un délai notable avant la première exécution. Cet article explore les moyens d'éliminer ce délai.

Bien qu'il soit possible d'appeler la fonction manuellement avant de lancer la minuterie, ce n'est pas idéal et peut être facilement oublié. Une approche plus efficace consiste à utiliser setTimeout dans la fonction elle-même :

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

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

// Start the cycle
foo();

Cette approche garantit un intervalle cohérent entre les exécutions de fonction tout en offrant la flexibilité de terminer la boucle en omettant l'appel setTimeout si nécessaire.

Alternativement, une expression de fonction immédiatement invoquée (IIFE) peut être utilisée pour créer et démarrer la boucle en un seul clic. étape :

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

Cette méthode élimine le délai initial et simplifie le processus de configuration en encapsulant la fonction et le calendrier d'exécution dans un bloc autonome. Que vous préfériez l'appel direct, la méthode setTimeout ou l'approche IIFE, ces techniques offrent des solutions pratiques pour exécuter setInterval sans le délai initial indésirable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn