我想列出发送到服务器的每个请求,现在我将每个请求存储在一个id为的对象中。
//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 :(得分:0)
如果您不需要通过ID访问请求,为什么不使用数组:
function handleReq(){
this.list=[];
}
var reqhandler = new handleReq;
reqhandler.list.push(req);
显然,如果您需要将请求保留在当前页面的生命周期之外,您需要将请求保留在浏览器中的localstorage或某些服务器端存储库中,但是从您的问题的声音我不认为情况确实如此。
答案 1 :(得分: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());