Maison > interface Web > js tutoriel > Comment éviter le délai initial dans setInterval de JavaScript ?

Comment éviter le délai initial dans setInterval de JavaScript ?

Susan Sarandon
Libérer: 2024-11-10 08:50:02
original
775 Les gens l'ont consulté

How to Avoid the Initial Delay in JavaScript's setInterval?

Exécution retardée ou immédiate de setInterval

En JavaScript, la méthode setInterval est un outil précieux pour exécuter une fonction à intervalles réguliers. Cependant, par défaut, son exécution commence après un délai initial. Ce délai peut être indésirable dans certaines situations.

Solution : Invocation immédiate de la fonction

Pour pallier ce délai, une solution simple et efficace consiste à appeler la fonction manuellement avant de définir l'intervalle. Cette technique garantit que la fonction est exécutée immédiatement :

foo();
setInterval(foo, delay);
Copier après la connexion

Méthode alternative : utilisation de setTimeout

Bien que l'invocation immédiate de la fonction résolve le problème, l'utilisation de setTimeout offre une flexibilité supplémentaire :

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

foo();
Copier après la connexion

Avantages de setTimeout :

  • Intervalle garanti : setTimeout garantit qu'il y a toujours un intervalle d'au moins quelques millisecondes de délai entre les appels de fonction.
  • Plus facile Annulation : Il est simple d'annuler la boucle en omettant simplement l'appel setTimeout lorsque des conditions spécifiques sont remplies. met.

Solution améliorée : expression de fonction immédiatement invoquée (IIFE)

Une manière encore plus concise d'y parvenir consiste à envelopper le code dans une IIFE, combinant définition de fonction et boucle automatique initiation :

(function foo() {
    // ...
    setTimeout(foo, delay);
})();
Copier après la connexion

Conclusion

En tirant parti de l'invocation immédiate de la fonction ou de l'alternative setTimeout, il est possible de contrôler le timing d'exécution de la méthode setInterval, en garantissant que ses fonctionnalités s'alignent précisément avec les exigences de votre candidature.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal