0

我想实现“缓存”以使用localStorage. request ( requestData) 的参数将是唯一标识符。这是我的代码:

App = {};
App.Service = function(name) {
    this.name = name;
};
App.Service.prototype.sendRequest = function(requestData) {
    // process request data somehow and store to local variable
    var identifier = $.param(requestData);

    $.ajax({
        url: 'web/api',
        success: function(data) {
            // can identifier differ from calculated before ajax call?
            // for example if someone else start this method in the same time?
            localStorage.setItem(identifier, data);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            // handle error
        },
        type: "POST",
        data: requestData
    });
};

这是我的问题:假设我已经多次启动了 sendRequest 方法。每个success回调方法是自己操作identifier还是混合在一起(换句话说,错误的标识符将分配给响应数据)?

4

1 回答 1

0

您是否考虑过简单地创建一个数组,将其称为类似var cache = []的名称,然后在每次检索后将响应数据添加到其中?只需使用一些变量来跟踪您使用的最后一个索引,或者如果您想跟踪请求的发出时间,请使用日期/时间,与任何响应数据分开。

于 2013-03-20T20:01:37.190 回答