Maison > interface Web > js tutoriel > Comment puis-je exécuter une fonction « setInterval » immédiatement ?

Comment puis-je exécuter une fonction « setInterval » immédiatement ?

Susan Sarandon
Libérer: 2024-11-09 01:57:02
original
404 Les gens l'ont consulté

How Can I Execute a `setInterval` Function Immediately?

Exécuter setInterval immédiatement

La méthode setInterval est couramment utilisée pour exécuter une fonction à intervalles réguliers. Cependant, il commence à exécuter la fonction après le délai spécifié. Pour exécuter la fonction immédiatement et continuer à l'exécuter avec le timer, il existe des approches alternatives.

Appel direct de fonction

La solution la plus simple est d'appeler la fonction directement en premier temps avant de régler l'intervalle :

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

Fonction d'auto-déclenchement utilisant setTimeout

Pour éviter des problèmes potentiels avec setInterval, une approche alternative consiste à utiliser setTimeout pour que la fonction se déclenche :

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

// Start the cycle
foo();
Copier après la connexion

Cette approche garantit un délai entre les appels de fonction et simplifie annuler la boucle en cas de besoin.

Expression de fonction immédiatement invoquée (IIFE)

Enfin, pour une solution unique, vous pouvez utiliser une expression de fonction immédiatement invoquée :

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

Cette approche définit la fonction, l'appelle immédiatement et démarre la boucle d'un seul coup.

N'oubliez pas que ces approches ont leurs inconvénients, comme d'éventuelles fuites de mémoire ou des problèmes de performances si les appels de fonction deviennent trop fréquents. Utilisez setInterval avec prudence et envisagez ces alternatives lorsqu'une exécution immédiate est souhaitée.

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