我有一个 Cordova 移动应用程序,可将离线数据存储在 localStorage 中。最近用户开始收到 QUOTA_EXCEEDED_ERR 错误,因为 localStorage 有 5MB 限制。我决定使用“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() 返回一个值而不更改任何其他代码