Фон
Еще в мае я сообщил о проблеме в WebKit, связанной с нехваткой памяти. Похоже, что проблема может быть связана с самим веб-инспектором, но я еще не уверен.
Проблема
Возникла проблема, из-за которой мое приложение JavaScript реализует шаблон "опрос потребителя" для получения данных по мере их поступления. доступный. Проблема в том, что память сохраняется и растет в течение дня. Логика JavaScript выглядит следующим образом:
- Получите данные и перезвоните мне
- Когда мне перезвонят, обработайте данные, а затем выполните шаг 1.
Является ли это разумным способом реализации потребителя опроса в JavaScript? Кстати, я использую функцию jQuery ajax, которая, конечно, может иметь свои проблемы. Кроме того, я использую прокси-сервер jQuery в качестве обработчика успеха, поэтому я подумал, что сохранение через область действия не должно быть проблемой. Я также наблюдал проблему без использования прокси. Некоторый код:
FidsDataController.prototype.getFids = function() {
var self = this;
$.ajax({
...
success: function(data) {
// Do some processing
// Call back in a short while...
setTimeout($.proxy(self.getFids, self), 100);
},
...
});
);