Javascript 从外部sqlite查询更新和/或更改localStorage数据库
我有几个关于本地存储的问题 一, 当我试图从Cordova应用程序更新localStorage数据库(在iOS WebView中)时,我注意到一些奇怪的行为 当我在外部DB浏览器中打开数据库时,我可以看到更新,但它们在Safari的Web inspector中不可见。更新后对LocalStorage的第一次JS调用删除了所有更改,并将其恢复到外部调用之前的状态,有点像缓存在内存中 有什么想法吗?有没有办法强制浏览器从磁盘重新加载 二, 我已经编写了一个Cordova插件,它连接到sqlite数据库,可以在基于localStorage“replica”键值的数据库中添加、更新、删除等项 但是,我希望能够使用localStorage.getValue('foo')等原型存储; 我就是不能让它工作。。。我理解异步调用等概念,但一定有办法 到目前为止,我已经尝试过循环和超时。->导致浏览器冻结 是否有可能根据我的规范使用“一行程序”来检索db值而不需要回调 第1项: 对不起,只是不确定 项目2: 也许有更好的方法可以做到这一点,但如果我这样做,并且不想直接处理回调,我会使用async.js库,该库位于: 然后做一些类似的事情:Javascript 从外部sqlite查询更新和/或更改localStorage数据库,javascript,ios,sqlite,cordova,Javascript,Ios,Sqlite,Cordova,我有几个关于本地存储的问题 一, 当我试图从Cordova应用程序更新localStorage数据库(在iOS WebView中)时,我注意到一些奇怪的行为 当我在外部DB浏览器中打开数据库时,我可以看到更新,但它们在Safari的Web inspector中不可见。更新后对LocalStorage的第一次JS调用删除了所有更改,并将其恢复到外部调用之前的状态,有点像缓存在内存中 有什么想法吗?有没有办法强制浏览器从磁盘重新加载 二, 我已经编写了一个Cordova插件,它连接到sqlite数据
function getValue() {
async.series([
function(callback) {
db.readTransaction(function (t) {
t.executeSql('SELECT COUNT(*) AS c FROM table', [], function (t, r) {
callback(r.rows[0].c);
}, function (t, e) {
console.log(e.message);
});
});
}
],
function(error, results) {
return results[0];
}
);
}
从文件中:
[async.series]将运行一系列函数,每个函数运行一次
上一个功能已完成。如果序列中有任何函数通过
它的回调出错,不再运行任何函数,并且回调失败
对于序列,将立即使用错误值调用。一旦
任务已完成,结果将传递给最终回调
作为一个数组
Thanx,太好了。我会调查的,告诉我进展如何。