Maison >interface Web >js tutoriel >Pourquoi ma fonction de rappel setInterval ne s'exécute-t-elle qu'une seule fois ?
Fonction de rappel setInterval exécutée une fois : résolue
Dans ce scénario, un compteur est destiné à s'exécuter indéfiniment. Examinons une version simplifiée :
function timer() { console.log("timer!"); } window.setInterval(timer(), 1000);
Cependant, cette implémentation donne un résultat inattendu : le message "timer" n'apparaît qu'une seule fois.
Le problème réside dans le premier argument de setInterval. Au lieu de fournir une référence de fonction (timer), le code exécute par erreur la fonction (timer()). Cela peut être corrigé comme suit :
window.setInterval(timer, 1000);
Alternativement, une syntaxe plus concise (mais moins lisible) peut être utilisée :
window.setInterval(function() { console.log("timer!"); }, 1000);
En implémentant ces corrections, le compteur va désormais exécuter perpétuellement, remplissant la fonctionnalité prévue.
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!