Maison >interface Web >js tutoriel >Comment puis-je exécuter de manière récursive une fonction JavaScript à intervalles réguliers ?
En JavaScript, la fonction setTimeout() vous permet de planifier un appel de fonction à une heure prédéfinie. Ceci est utile lorsque vous devez effectuer une action après un délai spécifique. Cependant, que se passe-t-il si vous souhaitez exécuter une fonction de manière répétée à intervalles réguliers ?
Une approche consiste à utiliser la fonction setInterval() :
setInterval(function, delay)
Cette fonction appelle en continu la fonction de rappel spécifiée à l'intervalle de temps donné. Cependant, cette méthode peut rencontrer des problèmes si le temps d'exécution de la fonction dépasse l'intervalle.
Une approche plus fiable consiste à utiliser setTimeout() en conjonction avec une fonction anonyme auto-exécutable :
(function(){ // Your code goes here setTimeout(arguments.callee, 60000); })();
Cette fonction planifie le prochain appel à la même fonction après l'intervalle spécifié. Cela garantit également que l’appel suivant ne sera pas effectué tant que l’exécution de la fonction en cours n’est pas terminée. La référence arguments.callee est utilisée pour appeler à nouveau la fonction, mais elle est obsolète dans Ecmascript 5. Une meilleure alternative consiste à utiliser une fonction nommée et à la référencer dans l'appel setTimeout.
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!