Chrome の無制限のストレージを使用する Chrome 拡張機能を作成しようとしています。現在、次のようにストレージから取得しています。
chrome.storage.local.get(null, function (items) {
return items;
}
そして、次のようにストレージに保存します。
chrome.storage.local.set(items);
私の問題は、この場合「アイテム」は連想配列であり、この配列に複数の値を同時に追加できるようにしたいということです。get メソッドは非同期であるため、ストレージから配列を取得し、キーと値のペアを追加してから元に戻そうとする 2 つの異なるプロセスで、両方が保存されることを保証できません。さらに悪いことに、これを行うと、同時プロセスが十分にある場合に拡張機能がクラッシュするように見えます。
chrome.storage を使用するより良い方法はありますか? または、何らかのキューイング システムを実装する必要がありますか? 以前は非同期の側面を持たない localStorage を使用していましたが、ストレージの最大容量を超えていたため、無制限のストレージを使用するように切り替えようとしています。