У меня есть следующий код
function generateNewUrl(){
console.log("Method generatreNewUrl() has been called")
chrome.storage.sync.get(['categorySave'], function(data_1){
category = data_1.categorySave;
console.log("Popup.js; Retrieved category data : " + category);
##^This console.log returns the correct value
});
//category = returnCategory();
baseUrl = 'http://www.awebsite.com/';
console.log("Returned category is : " + category)
newUrl = baseUrl + category;
return newUrl;
}
Первый журнал возвращает правильную переменную A, где второй журнал возвращает значение Undefined.Я попытался создать функцию, которая извлекает переменную, которую она получает просто отлично, затем устанавливает категорию для нее и возвращает категорию.Но это похоже на выполнение ПОСЛЕ создания newUrl независимо от того, где я его поместил.Я могу получить его при открытии всплывающего окна, но я хочу получить его и при нажатии кнопки, иначе пользователь может изменить параметры между открытием всплывающего окна и нажатием кнопки.
Так что да, яЯ уверен, что есть простой способ сделать это, но я довольно плохо знаком с JS.Заранее спасибо!
РЕДАКТИРОВАТЬ: Очевидно, что некоторые действительно странные вещи происходят при определении переменной, которую я испортил.Очевидно, вместо того, чтобы делать
var x = generateNewUrl();
или что-то подобное, я должен сделать что-то вроде
var x = (generateNewUrl(){return true;})();
За исключением того, что я тоже не могу заставить это работать, это истинное предназначениетип возвращаемого значения, потому что я возвращаю строку, и она, кажется, не принимает это.