@fun_code

Как использовать chrome local storage в объекте (попытка написания универсального геттера и сеттера)?

Сделал простой сеттер и геттер, для использования google local storage.
Вот только store.set() работает отлично.
А вот, store.get(). В консоль выводить результат без проблем, но никак не получается этот результат отдавать (return) обратно, за пределы функции.
Каждый раз появляется undefined.

Я уже и var использовал. И присваивал свойству внутри store, всё равно он будто бы выполняется полностью ассинхронно.

Мне бы хотелось это универсальное решение использовать, для простого get/set, переменных и их значений, в первых своих расширениях, поэтому и хотелось бы этот объект сделать максимально упрощенным, для взаимодействия.

Может я что-то в упор не замечаю... Помогите разобраться.

let store = {

       set(val_name, value){
        chrome.storage.local.set({[val_name]: value});
    }, 


    get(val_name){



      var re =   chrome.storage.local.get([val_name], result => {
               

                if(result[val_name]){
        
                    console.log(result[val_name]) // Выводит результат в консоль, как надо.
                     return result // я уж и так
                };



  

        })
            return re // и так



    }


}





store.set("b3", 32);
let x = store.get("b3"); // undefined  // Хочется получать значение переменной.
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
будто бы выполняется полностью ассинхронно

Бинго!
P.S. А о крыть документацию и убедиться вы не смогли? )) Там даже примеры есть, с колбэками.
Ответ написан
@zkrvndm
Софт для автоматизации
Лучше используй localForage:
https://html5.by/blog/localforage/
Меньше возни будет, хранить можно любые типы данных и большие объемы. Там, кстати, при желании можно добавить свой драйвер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы