setInterval with loop time

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

        // your code here            

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

    })()
})()

Use a counter which increments each time the callback gets executed, and when it reaches your desired number of executions, use clearInterval() to kill the timer:

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

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

if you want it to run for 10 times and the time it should run is every 200 miliseconds then 200X10 = 2000

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

but it only runs 9 times so we must add more 200 miliseconds

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

or you could run it before the setInterval

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