PouchDB无法在Chrome中运行(种类)

时间:2014-04-04 12:59:31

标签: pouchdb

我正在努力使PouchDB工作两天 - 一些简单的东西可以工作,但有些则没有。

很难找出原因,但我终于设法隔离了一个问题 - 是不是问题 使用IndexDB销毁数据库并再次创建或承诺在PouchDB中实现我没有线索。

无论如何 - 下面这段代码在Firefox中运行直到结束,但在Chorme中只有“创建数据库......”并且没有任何警告就停止(在调试器下永远不会到达“发布记录”)

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8"/>
</head>

<body>

<script src="lib/pouchdb/dist/pouchdb-nightly.js"></script>

<script>
    new PouchDB('test')
        .then(function (db) {
            console.log("Destroying database.. ");
            return db.destroy()
        })
        .then(function () {
            console.log("Creating database.. ");
            return new PouchDB('test');
        })
        .then(function (db) {
            console.log("Posting record.. ");
            return db.post({name: 'name'});
        })
        .then(function(info){
            console.log("Checking id of inserted record: " + info.id);
        })
        .catch(function (error) {
            console.log(error.message);
        });

</script>

</body>
</html>

任何解决方法?

我需要“销毁数据库 - &gt;然后创建新的&gt;然后做一些”每次浏览器中每次都有效的操作流程 - 我尝试使用promises,带回调 - 要么得到像代码示例或IndxedDB的结果错误11 ...

1 个答案:

答案 0 :(得分:0)

你的承诺链中有一些时髦的东西,但是这里有一个很好的解决方法:

new PouchDB('test')
        .then(function (db) {
            console.log("Destroying database.. ");
            return db.destroy();
        })
        .then(function () {
            console.log("Creating database.. ");
            return new PouchDB('test').then(function (db) {
                console.log("Posting record.. ");
                return db.post({name: 'name'});
            })
            .then(function(info){
                console.log("Checking id of inserted record: " + info.id);
            });
        })
        .catch(function (error) {
            console.log(error.message);
        });

输出:

Destroying database.. Creating database.. Posting record.. Checking id of inserted record: 0613FFBA-518F-4F20-A1DD-D18E59A4340B

但为了安全起见,我已经在PouchDB上提交了an issue