@merelyJunior

Как остановить отправку запроса исходя из ответа сервера?

Есть 3 стадии выполнения запроса, при первом отрисовываются данные на странице, при 2 и 3 должен останавливаться запрос.

setInterval для того, чтобы обновлять данные этого запроса на странице.
Есть мысли записать в аргумент функции "endPost" и как-то использовать если значение true/false, но не понимаю, как это сделать.

if (endPost) {
     .abort() 
    }

не работает

function getStat() {
  $.post("/.php").done(function (_data) {
    var currData = JSON.parse(_data);
//ответ от сервера с данными в том числе и стадии выполнения 
    var stage = currData["stage"];
    var endPost = stage == "done" || stage == "stpped";

    if (endPost) {
     //остановить отправку запроса
    }
//пока не  endPost отрисовываем данные которые приходят
}

$(document).ready(function () {
   setInterval(function () {
    getStat();
  }, 1000);
});
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@merelyJunior Автор вопроса
Вдруг кому пригодится, решил так

function getStat() {
$.post("/.php").done(function (_data) {
var currData = JSON.parse(_data);
//ответ от сервера с данными в том числе и стадии выполнения
var stage = currData["stage"];
var endPost = stage == "done" || stage == "stpped";
if (endPost) {
clearInterval(intervalExample);
}
//пока не endPost отрисовываем данные которые приходят
}

$(document).ready(function () {
intervalExample = setInterval(function () {
getRegStat();
getBalance();
}, 1000);
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы