Возврат значения API хранилища Chrome без функции

Последние два дня я работаю с асинхронным хранилищем Chrome. Это работает "хорошо", если у вас есть функция. (Как ниже):

chrome.storage.sync.get({"disableautoplay": true}, function(e){
console.log(e.disableautoplay);
});

Моя проблема в том, что я не могу использовать функцию с тем, что я делаю. Я хочу просто вернуть его, как может LocalStorage. Что-то вроде:

var a = chrome.storage.sync.get({"disableautoplay": true});

или же

var a = chrome.storage.sync.get({"disableautoplay": true}, function(e){
    return e.disableautoplay;
});

Я пробовал миллион комбинаций, даже устанавливая открытую переменную и устанавливая, что:

var a;
window.onload = function(){
    chrome.storage.sync.get({"disableautoplay": true}, function(e){
    a = e.disableautoplay;
});
}

Ничего не работает Все это возвращает неопределенное значение, если только код, ссылающийся на него, не находится внутри функции get, и это бесполезно для меня. Я просто хочу иметь возможность возвращать значение в качестве переменной.

Это вообще возможно?

РЕДАКТИРОВАТЬ: Этот вопрос не является дубликатом, пожалуйста, позвольте мне объяснить, почему:

1: нет других постов, специально спрашивающих об этом (на всякий случай я потратил два дня на просмотр).

2: мой вопрос все еще не отвечен. Да, Chrome Storage является асинхронным, и да, он не возвращает значение. Это проблема. Я уточню ниже ...

Мне нужно иметь возможность получить сохраненное значение вне функции chrome.storage.sync.get. Я не могу использовать localStorage, так как он специфичен для URL, и к тем же значениям нельзя получить доступ как со страницы browser_action расширения chrome, так и из background.js. Я не могу сохранить значение с помощью одного сценария и получить доступ к нему с помощью другого. Они рассматриваются отдельно.

Поэтому мое единственное решение - использовать Chrome Storage. Должен быть какой-то способ получить значение сохраненного элемента и ссылаться на него вне функции get. Мне нужно проверить это в утверждении if.

Так же, как localStorage может сделать

if(localStorage.getItem("disableautoplay") == true);

Должен быть какой-то способ сделать что-то вроде

if(chrome.storage.sync.get("disableautoplay") == true);

Я понимаю, что это не будет так просто, но это лучший способ объяснить это.

Каждый пост, который я вижу, говорит, что нужно делать так:

chrome.storage.sync.get({"disableautoplay": true, function(i){
    console.log(i.disableautoplay);
    //But the info is worthless to me inside this function.
});
//I need it outside this function.

Ответы на вопрос(3)

Ваш ответ на вопрос