同时异步保存到chrome无限存储

时间:2013-01-27 00:26:53

标签: javascript google-chrome-extension local-storage

我正在尝试编写一个涉及使用chrome无限存储空间的Chrome扩展程序。 我目前正在从存储中检索:

chrome.storage.local.get(null, function (items) {  
    return items;  
}  

然后像这样保存回存储:

chrome.storage.local.set(items);

我的问题是,在这种情况下,'items'是一个关联数组,我希望能够同时向该数组添加多个值。因为get方法是异步的,所以我无法保证尝试调用的两个不同进程从存储中获取数组,向其中添加键/值对然后将其设置回来将导致两者都被保存。更糟糕的是,如果有足够的同步进程,这样做似乎会导致扩展崩溃。

有没有更好的方法来使用chrome.storage?或者我是否必须实施某种排队系统?我之前使用的localStorage没有异步方面,但超出了最大存储容量,因此我尝试切换到使用无限存储。

2 个答案:

答案 0 :(得分:0)

我会继续考虑您的排队系统。如果两个进程都可以访问全局对象,则让该对象管理写入,并使用该对象而不是chrome.local.storage.set(...)来编写应用程序的其余部分。

答案 1 :(得分:0)

两个无限存储选项

都是异步的,性能方面很好,我想实现多个setget操作的同步是你通过它的方式。