我正在尝试编写一个涉及使用 chrome 无限存储的 Chrome 扩展程序。我目前正在从这样的存储中检索:
chrome.storage.local.get(null, function (items) {
return items;
}
然后像这样保存回存储:
chrome.storage.local.set(items);
我的问题是,在这种情况下,“项目”是一个关联数组,我希望能够同时向该数组添加多个值。因为 get 方法是异步的,所以我不能保证两个不同的进程尝试从存储中调用 get 数组,向其中添加一个键/值对然后将其设置回来将导致两者都被保存。更糟糕的是,如果有足够的并发进程,这样做似乎会使扩展程序崩溃。
有没有更好的方法来使用 chrome.storage?还是我必须实施某种排队系统?我以前使用的是 localStorage,它没有异步方面,但是超过了最大存储容量,所以我试图切换到使用无限存储。