setInterval(function(){}, 200)
ce code exécute la fonction toutes les 200 millisecondes, comment faire si je souhaite que la fonction soit exécutée 10 fois seulement.
merci pour l'aide.
Utilisez un compteur qui s'incrémente chaque fois que le rappel est exécuté, et lorsqu'il atteint le nombre d'exécutions souhaité, utilisez clearInterval()
pour tuer le minuteur:
var counter = 0;
var i = setInterval(function(){
// do your thing
counter++;
if(counter === 10) {
clearInterval(i);
}
}, 200);
(function(){
var i = 10;
(function k(){
// your code here
if( --i ) {
setTimeout( k, 200 );
}
})()
})()
si vous voulez qu'il s'exécute 10 fois et que l'heure à laquelle il doit s'exécuter soit toutes les 200 millisecondes, alors 200X10 = 2000
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2000);
mais il ne fonctionne que 9 fois, nous devons donc ajouter plus de 200 millisecondes
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2200);
ou vous pouvez l'exécuter avant setInterval
yourfunction();
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2000);
Utilisez simplement une boucle for à la place, beaucoup plus facile:
Essayez simplement ce code.
for (counter=0; counter<0; counter++) {}