Maison >interface Web >js tutoriel >Pourquoi ma fonction setInterval ne s'exécute-t-elle qu'une seule fois ?
Comprendre la fonction setInterval et son exécution
La fonction setInterval est un outil utile pour planifier des tâches à exécuter à intervalles réguliers en JavaScript. Cependant, les développeurs peuvent rencontrer des problèmes où la fonction de rappel semble s'exécuter une seule fois au lieu de continuellement.
Le problème : le rappel ne s'exécute pas comme prévu
Une raison courante à cela ce comportement est une utilisation incorrecte de l’appel de fonction setInterval. Le rappel doit être une référence de fonction, pas un appel de fonction.
Explication : appel de fonction vs référence
Dans le cas de l'exemple fourni :
window.setInterval(timer(), 1000)
Il manque une parenthèse après la fonction timer, ce qui en fait un appel de fonction plutôt qu'une référence. Cela entraîne l'exécution immédiate de la fonction timer et définit ensuite l'intervalle pour le résultat exécuté, qui n'est pas défini.
Solution : Corriger la syntaxe
Pour corriger cela et assurez l'exécution continue du rappel, utilisez une référence de fonction comme suit :
window.setInterval(timer, 1000);
Vous pouvez également utiliser une fonction anonyme comme rappel, qui est plus court mais peut réduire la lisibilité pour les fonctions plus volumineuses :
window.setInterval( function() { console.log("timer!"); }, 1000)
Cela garantit que la fonction de minuterie est programmée pour s'exécuter à l'intervalle spécifié de 1 000 millisecondes.
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!