我正在尝试编写一个涉及使用chrome无限存储空间的Chrome扩展程序。 我目前正在从存储中检索:
chrome.storage.local.get(null, function (items) {
return items;
}
然后像这样保存回存储:
chrome.storage.local.set(items);
我的问题是,在这种情况下,'items'是一个关联数组,我希望能够同时向该数组添加多个值。因为get方法是异步的,所以我无法保证尝试调用的两个不同进程从存储中获取数组,向其中添加键/值对然后将其设置回来将导致两者都被保存。更糟糕的是,如果有足够的同步进程,这样做似乎会导致扩展崩溃。
有没有更好的方法来使用chrome.storage?或者我是否必须实施某种排队系统?我之前使用的localStorage没有异步方面,但超出了最大存储容量,因此我尝试切换到使用无限存储。
答案 0 :(得分:0)
我会继续考虑您的排队系统。如果两个进程都可以访问全局对象,则让该对象管理写入,并使用该对象而不是chrome.local.storage.set(...)
来编写应用程序的其余部分。
答案 1 :(得分:0)