Maison > interface Web > js tutoriel > Pourquoi « setInterval » n'exécute-t-il mon rappel qu'une seule fois ?

Pourquoi « setInterval » n'exécute-t-il mon rappel qu'une seule fois ?

Mary-Kate Olsen
Libérer: 2024-11-29 02:02:14
original
362 Les gens l'ont consulté

Why Does `setInterval` Only Run My Callback Once?

Pourquoi le rappel setInterval s'exécute-t-il une seule fois ?

Considérez le problème suivant : vous essayez de créer une boucle infinie avec un compteur en utilisant setInterval. Cependant, la fonction de rappel ne s'exécute qu'une seule fois. Qu'est-ce qui pourrait mal se passer ?

Le code fourni est :

function timer() {
  console.log("timer!")
}

window.setInterval(timer(), 1000)
Copier après la connexion

L'erreur provient de l'utilisation d'un appel de fonction au lieu d'une référence de fonction comme premier argument de setInterval.

Utilisation correcte :

Pour résoudre ce problème, vous devez transmettre la référence de fonction elle-même, comme donc :

function timer() {
  console.log("timer!");
}

window.setInterval(timer, 1000);
Copier après la connexion

Vous pouvez également utiliser la syntaxe plus courte suivante :

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

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