Проблема в том, что работает только моя первая updateProgress
функция, пока syncDNS
ожидает. Все остальные вызовы, сделанные через setInterval
, продолжают ждать, пока syncDNS
не будет завершен. Почему это?
$("#syncDNS").click(function() {
$('#status').html("");
$('#status').addClass('loading');
function updateProgress() {
$.ajax({
type: 'POST',
url: 'index.php?action=checkProgress',
datatype: 'text',
async: 'true',
success: function(data) {
$('#status').html(data);
}
});
}
$.ajax({
url: 'index.php?action=sync',
async: 'true',
success: function(response) {
clearInterval(loop);
$('#status').removeClass('loading');
if (response) {
$('#status').addClass('alert alert-warning').html("<h4>Aviso</h4>" + response);
} else {
$('#status').addClass('alert alert-success').html("<h4>Sucesso</h4>" + "DNS sincronizado com sucesso!");
}
}
});
updateProgress();
var loop = setInterval(function() {
updateProgress();
}, 1000);
});