У меня есть массив в локальном хранилище Chrome, формат:
{"flights":
[
{"end":"2018-02-10","price":"476","start":"2018-02-01","tabId":1129367822},
{"end":"2018-02-11","price":"493","start":"2018-02-01","tabId":1129367825},
{"end":"2018-02-12","price":"468","start":"2018-02-01","tabId":1129367828}
]
}
Теперь я обновляю все данные следующим образом:
function updateValue(index, item) {
chrome.storage.local.get(['flights'], function (response) {
response.flights[index] = item;
chrome.storage.local.set({flights: response.flights});
});
}
Но есть проблема с асинхронными запросами,потому что у меня есть несколько запросов в то время.Некоторые запросы получают старые данные и снова сохраняют их в хранилище ...
Я хочу обновить только указанный элемент (например, полеты [0] с новыми данными), но это не работает ... Что-то вродеэто, но выполнимо:
chrome.storage.local.set({flights[0]: item});
Есть ли способ сделать это?Или, может быть, у вас есть несколько советов, как решить эту проблему другим способом.
большое спасибо за любую помощь