0

我正在寻找一些帮助。

我有一个 javascript 登录页面,它在成功登录时重定向用户(基于来自服务器的 JSON 响应)。

我希望能够向我的 indexeddb 添加大量数据以在站点周围使用,而不是一直触发 ajax 请求;但是,我的登录脚本会在所有数据都存储在数据库中之前重定向用户。(可能有很多。)

我正在循环一个响应对象,如下所示:

var lookup = $.indexedDB("atlas").objectStore("Lookup");
lookup.clear();
$.each(obj, function(){
    lookup.add(this);
});

有没有办法可以检测到上述所有内容何时完成?

4

3 回答 3

0

我不熟悉该插件,但在使用 indexeddb 规范时,您对事务有完整的回调。这在事务完成并提交时调用。

于 2012-10-17T07:00:05.980 回答
0

我编写了一个小的 jquery 插件(仍然非常 alpha)来简化令人困惑的 IndexedDB API 的使用

https://github.com/ameyms/jquery-indexeddb

我试图保持 API 超级简单:

//Define and initialize an IndexedDB ...
var db = $.idb({
                    name:'foobar', 
                    version: 2,
                    drop: stores_to_be_deleted,
                    stores:list_of_stores
                });

// ... Add objects to a store
db.put(items, 'into_store').done(onsuccess);

//.. And delete objects from a store
db.remove('from_store', conditionFunc).done(onremoval);

//.. And not to forget fetching objects from a store
db.select('from_my_store', conditionFunc).done(function (items){

    console.log(items)
});

希望你喜欢!

于 2013-09-23T08:47:07.957 回答
0

对不起,但完全忘记了这个线程。

我设法使用 $.indexedDB().done() 函数解决了这个问题,该函数允许我在当前狡猾的过程之后运行代码。

于 2013-09-27T08:57:26.247 回答