Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从外部sqlite查询更新和/或更改localStorage数据库_Javascript_Ios_Sqlite_Cordova - Fatal编程技术网

Javascript 从外部sqlite查询更新和/或更改localStorage数据库

Javascript 从外部sqlite查询更新和/或更改localStorage数据库,javascript,ios,sqlite,cordova,Javascript,Ios,Sqlite,Cordova,我有几个关于本地存储的问题 一, 当我试图从Cordova应用程序更新localStorage数据库(在iOS WebView中)时,我注意到一些奇怪的行为 当我在外部DB浏览器中打开数据库时,我可以看到更新,但它们在Safari的Web inspector中不可见。更新后对LocalStorage的第一次JS调用删除了所有更改,并将其恢复到外部调用之前的状态,有点像缓存在内存中 有什么想法吗?有没有办法强制浏览器从磁盘重新加载 二, 我已经编写了一个Cordova插件,它连接到sqlite数据

我有几个关于本地存储的问题

一,

当我试图从Cordova应用程序更新localStorage数据库(在iOS WebView中)时,我注意到一些奇怪的行为

当我在外部DB浏览器中打开数据库时,我可以看到更新,但它们在Safari的Web inspector中不可见。更新后对LocalStorage的第一次JS调用删除了所有更改,并将其恢复到外部调用之前的状态,有点像缓存在内存中

有什么想法吗?有没有办法强制浏览器从磁盘重新加载

二,

我已经编写了一个Cordova插件,它连接到sqlite数据库,可以在基于localStorage“replica”键值的数据库中添加、更新、删除等项

但是,我希望能够使用localStorage.getValue('foo')等原型存储; 我就是不能让它工作。。。我理解异步调用等概念,但一定有办法

到目前为止,我已经尝试过循环和超时。->导致浏览器冻结

是否有可能根据我的规范使用“一行程序”来检索db值而不需要回调

第1项: 对不起,只是不确定

项目2:

也许有更好的方法可以做到这一点,但如果我这样做,并且不想直接处理回调,我会使用async.js库,该库位于:

然后做一些类似的事情:

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,太好了。我会调查的,告诉我进展如何。