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);
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();
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); })();
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!