Пользуюсь chrome.storage.local, мне нужно хранить массив доступный по ключу "block", и иметь возможность добавлять в него элементы. Но просто взять массив(.get(...)) и тут же вставить в него измененный (.set(...)) не получается. Мешает асинхронность я так понимаю. Как ее обойти?
Соорудил такую конструкцию:
var storage = chrome.storage.local,
pb = {};
pb.addBlock = function (value) {
storage.get('block', function (item) {
item = item || [];
item.push(value);
// ??? ваши предложения?)
storage.set({block: item});
// ??? ваши предложения?)
return true;
});
return true;
};
pb.addBlock('blabla');
//выкинет ошибку Error in response to storage.get: TypeError: undefined is not a function
И догадываюсь почему не работает, нужно как-то ждать ответа сообразить не могу. Спасибо за внимание :)