2015-09-07 68 views
1

我正在尝试编写一个使用pouchdb作为脱机DB(不含sqlite)的cordova应用程序。我的应用程序适用于所有浏览器和android,但不适用于ios。我不确定这是为什么,以及如何处理!这里是我的代码初始化数据库:pouchdb无法在ios safari上工作

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我没有资源

Safari Mac screenshot

+0

它看起来像承诺没有被退回/回调永远不会被解雇,但也没有错误! – user1221612

回答

0

似乎在这个选项卡中,你已经把你的回调函数的地方选项传递(可选): PouchDB get

请尝试

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

它应该工作。

+0

我从你分享的链接中获取了代码(它不会传递null),无论如何我只是试了一下,但它不起作用。 – user1221612

+0

也正如我所说,它是在所有平台上工作除了ios – user1221612

+0

然后,我只能建议调试器; :) –

相关问题