Опрос Ajax, приводящий к сбою браузера в связи с его использованием памяти, непрерывно увеличивающимся использованием ЦП? Любая альтернатива

Я новичок в опросе ajax, и я реализовал непрерывную выборку данных, но проблема, которую я получаю, заключается в том, что использование памяти и загрузка ЦП постоянно увеличиваются, и в последнем случае происходит сбой браузера. Вот вызов ajax, который я использую для получения данных непрерывно.

$(document).ready(function () {

make_call();
function make_call() {
$.ajax({
url: "url",
              accepts: "application/json",
              cache: false,
              success: function (result) { // Some code here },
complete: make_call
});
}
}

Есть ли другая альтернатива, или я делаю что-то не так? Пожалуйста, предоставьте некоторые предложения или решения. Заранее спасибо.

1 ответ

Решение

Ваш код инициализирует новый запрос в тот же момент, когда предыдущие запросы завершаются (завершение - ошибка или успех). Скорее всего, вам потребуется небольшая задержка перед запросом новых данных, что позволит сократить нагрузку как на сервер, так и на клиент.

$.ajax({
  // ...
  complete: function() {
    setTimeout(make_call, 5000);
  }
});

Приведенный выше код ждет 5 секунд, прежде чем сделать следующий запрос. Настройте значение для ваших потребностей "непрерывного".

Другие вопросы по тегам