0

я следующий блок кода, который неожиданно ведет себя:Chrome.storage добавления значения объекта

//Where url and info are strings 
function addURL(url, info){ 
    chrome.storage.sync.get("data", function(items) { 
     items[url] = info; 

     chrome.storage.sync.set({"data" : items}, function() {}); 
    }); 
} 

Моя цель состоит в том, чтобы взять «данные» пару ключей значение из памяти, добавить новый индекс этот объект с ключом url и значением минут, а затем замените предыдущее значение «данных» на новое.

Вместо этого я создаю вложенную структуру, где этот код выполняет правильно в первый раз до конца, но на последующем добавляет там становятся вложенными «данные» блоки внутри объекта следующим образом:

data 
    url3 -> info3 
    data 
    url2 -> info2 
     data 
     url1 -> info1 

В то время как то, что я было бы ожидать, это

data 
    url1 -> info1 
    url2 -> info2 
    url3 -> info3 

ответ

1

Я думаю, если вы войти или проверить содержимое параметра items передается функции обратного вызова вы узнаете, имеет формат: { data: {...} }. Таким образом, вам просто нужно сделать:

Смежные вопросы