Опрос 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 секунд, прежде чем сделать следующий запрос. Настройте значение для ваших потребностей "непрерывного".