【问题标题】:pouchdb not working on ios safaripouchdb 无法在 ios Safari 上运行
【发布时间】:2015-09-07 08:20:28
【问题描述】:

我正在尝试编写一个使用 pouchdb 作为离线数据库(没有 sqlite)的 cordova 应用程序。我的应用适用于所有浏览器和 android 但不适用于 ios。我不知道为什么会这样以及该怎么做!这是我初始化数据库的代码:

app.onDeviceReady = function() {
try {
    console.log("starting db");
    window.offline_db = new PouchDB('offline_db');
    if (window.offline_db.adapter) {
        console.log("db started!");
    }
    offline_db.get("op_settings", function(err, doc) {
        if (err) {
            return console.log(err);
        }
        console.log(doc);
    });
} catch (e) {
    console.log(e);
}};

这不会返回文档,即使当我保存文档时它说它已成功保存,它只给出一个承诺但没有结果。

同样在 safari Mac 上,我可以在调试器中看到 db 内容,但在 safari ios 上,我在资源下没有此选项卡

【问题讨论】:

  • 看起来承诺没有被返回/回调从未被触发但也没有错误!

标签: android ios cordova safari pouchdb


【解决方案1】:

看来,您已将回调函数放在要传递的选项的位置(可选): PouchDB get

请尝试

offline_db.get("op_settings", null, function(err, doc)

它应该可以工作。

【讨论】:

  • 我从您共享的链接中获取了代码(它不会传递 null)无论如何我只是尝试过它并没有工作。
  • 正如我所提到的,它适用于除 ios 之外的所有平台
  • 那我只能建议调试器了; :)
猜你喜欢
  • 2018-05-16
  • 1970-01-01
  • 2020-05-03
  • 1970-01-01
  • 2011-05-13
  • 2016-05-19
  • 2022-01-07
  • 2016-06-03
  • 1970-01-01
相关资源
最近更新 更多