我使用window.setInterval
方法来轮询进度状态。但需要在完成后禁用此计时器。如何禁用计时器?
window.setInterval(function(){$.ajax({
type: 'GET',
url: 'imports',
success: function(response){
console.log(response);
if(response['status'] != 'ok'){
return;
}
$('.bar').css('width', response['progress'] + '%');
if(response['step'] == 'completed') location.reload();
}}, 'json');}, 1000);
答案 0 :(得分:1)
setInterval()
方法将返回一个整数/数字。您需要存储它,然后将其传递给方法clearInterval()
以停止它。
var intervalId = window.setInterval(.....);
然后,当你想要阻止它时,我认为它会:
window.clearInterval(intervalId);
答案 1 :(得分:1)
setInterval()
会返回一个句柄,稍后您可以将其传递给window.clearInterval()
以停止计时器。
答案 2 :(得分:1)
当你开始间隔时,它返回一个定义它的整数:
var timer = window.setInterval( ... );
然后,当您的AJAX函数返回true时,您可以清除该间隔:
...
success: function(response) {
console.log(response);
if (response['status'] != 'ok') {
clearInterval(timer);
return;
}
}
...
答案 3 :(得分:0)
var x = window.setInterval(...);
// ...
window.clearInterval(x);