Maison > interface Web > js tutoriel > Comment puis-je exécuter de manière récursive une fonction JavaScript à intervalles réguliers ?

Comment puis-je exécuter de manière récursive une fonction JavaScript à intervalles réguliers ?

Patricia Arquette
Libérer: 2024-12-05 08:56:10
original
1012 Les gens l'ont consulté

How Can I Recursively Execute a JavaScript Function at Regular Intervals?

Exécuter une fonction de manière récursive à des intervalles de temps spécifiés

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)
Copier après la connexion

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);
})();
Copier après la connexion

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!

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