Использование javascript setInvertal увеличивает потребление памяти ЦП

Я разрабатываю веб-приложение.NET, в котором мне нужно выполнять запросы ajax с помощью функции javascript setInterval (), чтобы обновить информацию о некоторых страницах.

С каждым запросом ajax я получаю ответ xml размером около 68 КБ, который мне удается делать визуальными изменениями в html через jQuery. Я установил интервал в 2000 миллисекунд, но я хотел бы, или, скорее, мне нужно было бы уменьшить его до 1000 мс.

К сожалению, с каждым запросом потребление памяти ЦП увеличивается, что провоцирует блокировку браузера, и пользователь не может им пользоваться, пока не перезагрузит страницу. Я тестировал это в Firefox, Internet Explorer и Chrome, но результат всегда один и тот же. Если я не сделаю setInvertal (), проблема исчезнет.

Кроме того, я проверял область действия всех моих переменных javascript, но не нашел ничего плохого, и я полагаю, что у Javascript есть эффективный сборщик мусора для их очистки.

Я надеюсь, что я ясно объяснил проблему. У кого-нибудь есть идеи, как это решить?

Изменено:Я использую фреймворк jQuery. Мой код:

var tim;
$(document).ready(function () {
  tim = window.setInterval("refresh()", 2000);
});

function refresh() {
   $.post("procedures.aspx", $("#formID").serializeArray(), function (data) {
     if (data != ""){
       var xml = $.parseXML(data);

      ... (read and process xml to do changes in the html)

     }
   }
}
5
задан Cœur 5 August 2017 в 06:59
поделиться