У меня есть мобильное приложение Cordova, которое хранит автономные данные в localStorage.Недавно пользователи начали получать сообщение об ошибке QUOTA_EXCEEDED_ERR, так как localStorage имеет ограничение 5 МБ.Я решил использовать фреймворк «localForage», но заметил, что он работает асинхронно.Поскольку я не хочу переписывать все мое сложное приложение, упакованное в функции обратного вызова, я хотел знать, есть ли какой-нибудь способ использовать «localForage» синхронно (дождаться, пока функция getItem вернет значение).
Вот кодпример того, что я пытаюсь сделать:
localforage.setItem('testKey', 'testValue', function() {
var value = getValue('testKey');
console.log(value); // here I get undefined, but I want to get a value
});
function getValue(key) { // I want this function to return value
var result;
localforage.getItem(key, function(value) {
result = value;
});
return result;
}
Я хочу, чтобы getValue () возвращала значение без изменения какого-либо другого кода