我正在努力使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 ...
答案 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。