我想在 2 分钟后停止 ajax 请求
i would like to stop ajax request after 2 minutes
我的 ajax 函数每 15 秒运行一次。我想在 2 分钟后停止。
我该怎么做?
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
方法时引用。
我的 ajax 函数每 15 秒运行一次。我想在 2 分钟后停止。
我该怎么做?
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
方法时引用。