Мне нужна эта структура данных
Два основных объекта, содержащих вложенные объекты
chrome.storage.sync.get(null, function(results) {
console.log(results); // Output should be: {mainObject: {...}, mainObject2{...}}
console.log(results.mainObject); // Output should be: {object1: {...}, object2: {...}, object3: {...}}
console.log(results.mainObject.object1); // Output should be: {key: 'value', key: 'value'}
})
Пример
Инициализировать пустой mainObject
chrome.storage.sync.set({mainObject: {}}, function() {
console.log('MainObject Created');
});
Каждый раз, когда запускается событие браузера, новый объект должен быть добавлен в mainObject
someBrowserEvent(function(name, eyeColor, hairColor) {
name = {'eyeColor': eyeColor, 'haircolor': hairColor}
// Code to add object to mainObject....
chrome.storage.sync.get(['mainObject'], function(results) {
console.log('results.mainObject'); // Desired output should be {emily: {...}}
console.log('results.mainObject.emily'); // Desired output should be: {eyeColor: 'blue', hairColor: 'black'}
})
}
Мое расширение не будет превышать 10 записей, поэтому я не думаю, что база данных было бы оптимальным в этом случае
Значения необходимо сохранить после закрытия окна chrome
Я нашел одно решение аналогичной проблемы (chrome syn c хранилище для хранения и обновления массива ), в котором пользователь предлагал прочитать существующее значение, добавить новое значение и затем сохранить его (перезапись). Мне интересно, есть ли лучшее решение.