Утечка памяти jQuery с повторяющимися вызовами .ajax

Я использую следующий шаблон, который приводит к утечке памяти в Firefox:

$(function() {

    (function() {

        var callee = arguments.callee;

        $.ajax({
            url: '...',
            success: function() { ... setTimeout(callee, 1000); },
            error: function() { ... setTimeout(callee, 1000); }
        });

    })();

});

Утечка памяти остается, даже если успех / ошибка не делают ничего, кроме повторного вызова setTimeout. Я наблюдаю утечку через диспетчер задач Windows; если страница остается открытой, использование памяти firefox.exe медленно увеличивается. Для окончательной версии этого кода мне нужно обновлять только раз в минуту, но один раз второй демонстрирует утечку памяти намного быстрее!

(Примечание: это похоже на проблему, очень похожую на этот вопрос , но выбранный там ответ не подходит для Firefox)

7
задан Community 23 May 2017 в 09:57
поделиться