我的ajax函數每15秒鐘工作一次。我想在2分鐘後停止它。我想在2分鐘後停止ajax請求
我該怎麼做?
window.setInterval(function() {
var request = $.ajax({
...
})
}, 15000);
我的ajax函數每15秒鐘工作一次。我想在2分鐘後停止它。我想在2分鐘後停止ajax請求
我該怎麼做?
window.setInterval(function() {
var request = $.ajax({
...
})
}, 15000);
使用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);
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
方法時可引用的變量。
爲什麼OP應該這樣做?一個好的答案***將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,而且是爲了將來SO的訪問者。 –
erm ...其他代碼發生了什麼? – RamRaider