2015-12-21 4 views

ответ

5

Использование clearInterval, метод clearInterval() очищает таймер, установленный с помощью метода setInterval().

var request; 
 
var _timer = setInterval(function() { 
 

 
    request = $.ajax({ 
 
    ... 
 
    }); 
 

 
}, 15 * 1000); 
 

 
setTimeout(function() { 
 

 
    clearInterval(_timer); 
 
    request.abort(); // If you want to abort the xhr which are still executing after 2 minutes 
 

 
}, 2 * 60 * 1000);

+0

Другим вариантом является просто сделать это после семи итераций основного таймера. – nicael

+0

@nicael да, вы можете это сделать. – void

+0

привет спасибо мужчина – Iyadh

1
var t=0; 
var i=15000; 
var m=Math.abs(2 * 60 * 1000); 

var tmr=window.setInterval(function() { 
    var request = $.ajax({ /* do something */ }); 
    t+=i; 
    if(t >= m) clearInterval(tmr); 
}, i); 

Отметил @Jay!

Практически то же, что и ответ, отправленный @void - кроме того, что не убивает активный запрос ajax. Чтобы отменить интервал, он должен быть назначен как переменная, на которую можно ссылаться при вызове метода clearInterval.

+1

Зачем нужно это делать? *** Хороший ответ *** всегда будет объяснять, что было сделано, и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO. –

Смежные вопросы