Maison > interface Web > js tutoriel > Pourquoi ma fonction de rappel setInterval ne s'exécute-t-elle qu'une seule fois ?

Pourquoi ma fonction de rappel setInterval ne s'exécute-t-elle qu'une seule fois ?

Susan Sarandon
Libérer: 2024-12-07 00:44:12
original
214 Les gens l'ont consulté

Why Does My setInterval Callback Function Only Execute Once?

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

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

Alternativement, une syntaxe plus concise (mais moins lisible) peut être utilisée :

window.setInterval(function() {
  console.log("timer!");
}, 1000);
Copier après la connexion

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!

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