эффективный способ хранить ряд значений в объекте?

0

Я хотел бы перечислить каждый запрос, отправленный на сервер. Теперь я сохраняю каждый запрос в объекте с идентификатором.

//code sample that explain my context
function handleReq(){
this.list={};

}

var reqhandler = new handleReq;

//adding each request like this
reqhandler.list[req.id] = req;

Проблема заключается в том, что мое приложение выдает много запросов (т.е. Более тысячи). если пользователь больше использует приложение, пропорционально размер объекта увеличивается.

Теперь я хотел бы знать, это лучший способ сохранить запросы?

если это не хорошо, пожалуйста, предложите несколько альтернатив?

  • 0
    Что вам нужно регистрируемые запросы на? Отладка?
Теги:
oop

2 ответа

0

Если вам не нужно обращаться к запросам по идентификатору, почему бы не использовать массив:

function handleReq(){
    this.list=[];
}

var reqhandler = new handleReq;

reqhandler.list.push(req);

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

0

как насчет того, чтобы сделать что-то подобное:

var requestLogger =  (function(){

  var logArray = [];
  var logObj = {};
  logObj.add = function(obj){
    logArray.push(obj);
  }; 

  logObj.get = function(){
    return logArray;
  };
  logObj.getById = function(id){
    //return log elemnt by id from array.
  };
  return logObj;

}());



requestLogger.add("new request id");
console.log(requestLogger.get());

http://jsbin.com/gucuzohu/1/

  • 0
    Спасибо за ответ. Я на самом деле спрашиваю, пересекает ли это миллионы запросов, что будет?
  • 0
    каждый раз, когда вы будете использовать функцию add для requestLoggger, массив будет увеличивать свой размер, вы сможете добавить чистый метод для очистки данных из массива, возможно, используя тайм-аут, вам нужно взглянуть на это: developers.google. ком / хром-разработчик-инструменты / документы / ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню