Подтвердить что ты не робот

SetInterval с временем цикла

setInterval(function(){}, 200)

этот код запускает функцию каждые 200 миллисекунд, как это сделать, если я хочу, чтобы функция запускалась 10 раз.

Спасибо за помощь.

4b9b3361

Ответ 1

Используйте счетчик, который увеличивается каждый раз, когда выполняется обратный вызов, и когда он достигает желаемого количества исполнений, используйте clearInterval(), чтобы убить таймер:

var counter = 0;
var i = setInterval(function(){
    // do your thing

    counter++;
    if(counter === 10) {
        clearInterval(i);
    }
}, 200);

Ответ 2

(function(){
var i = 10;
    (function k(){

        // your code here            

        if( --i ) {
        setTimeout( k, 200 );
        }

    })()
})()

Ответ 3

если вы хотите, чтобы он выполнялся в течение 10 раз, и время, которое должно выполняться, составляет каждые 200 миллисекунд, а затем 200X10 = 2000

var interval = setInterval(yourfunction, 200);
setTimeout(function() {
    clearInterval(interval)
}, 2000);

но он работает только 9 раз, поэтому мы должны добавить более 200 миллисекунд

var interval = setInterval(yourfunction, 200);
setTimeout(function() {
    clearInterval(interval)
}, 2200);

или вы можете запустить его до setInterval

yourfunction();
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
    clearInterval(interval)
}, 2000);

Ответ 4

Просто используйте цикл for, гораздо проще:

Просто попробуйте этот код.

for (counter=0; counter<0; counter++) {}