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)
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);
Vous pouvez également utiliser la syntaxe plus courte suivante :
window.setInterval( function() { console.log("timer!"); }, 1000)
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!