Я использую phonegap с плагином настроек приложения и пытаюсь создать вспомогательную функцию для получения от нее значения. Однако функция не возвращает правильное значение. Я знаю, что это связано с асинхронностью, но, к сожалению, я не знаю, как это исправить. (Я пытался найти справку здесь и нашел немного, и попытался реализовать его во вспомогательном методе)
Чего я хочу добиться, так это:
function populateList() {
var a = 1;
var number = getSettingFromApplicationPreferences('number');
// number is always undefined
var letter = getSettingFromApplicationPreferences('letter');
// letter is always undefined
number = (number) ? number : 1;
letter = (letter) ? letter : 'b';
// Here I'll do some DOM manipulation and use 'number' and 'letter' on it, and
// define new variables based on 'number' and 'letter'
}
вот вспомогательная функция, с которой мне нужна помощь:
function getSettingFromApplicationPreferences(setting) {
var x = (function () {
window.plugins.applicationPreferences.get(
// setting
setting,
// success callback
function(returnValue) {
console.log(setting + ': ' + returnValue);
return returnValue;
},
// error callback
function(error) {
alert("Failed to get a setting: " + error);
return false;
}
);
})();
return x;
}
Вопрос
Как можно вернуть 'returnValue' из настроек приложения с помощью этой вспомогательной функции?