PouchDB过多的递归 - 远程连接上的Stackoverflow

时间:2017-08-25 09:04:22

标签: javascript pouchdb

EIDT:此问题是Angular2问题,应使用下一个zone.js更新解决。如需临时修复,请参阅:https://github.com/angular/zone.js/issues/886和СтефанСпасов答案。

我正在尝试将客户端pouchDB与服务器couchDB同步。

要从我的Angular2应用程序访问pouchDB,我编写了一个javascript界面​​:

var db;
var remoteDb;

function LocalDb() {
  db = new PouchDB('test', {storage:'persistent'});
};

function RemoteDb(url) {
  remoteDb = new PouchDB(url);
};

function sync() {
  db.sync(remoteDb);
};

function addTest() {
  var test = {
    title: 'ABC',
    completed: false
  };

  db.post(test);
};

为了便于阅读,我删除了所有回调。我通过运行npm install pouchdb

安装了pouchdb

我还通过向index.html添加<script src="../node_modules/pouchdb/dist/pouchdb.min.js"></script>添加了pouchDB源代码。

由于我通过实现它获得的404错误,我将pouchDb dist文件夹复制到资产并以<script src="assets/dist/pouchdb.min.js"></script>

方式实现了pouchDB

按钮调用所有javascript函数。

如果我按下get localdb和get remotedb按钮everythig工作。目前我按下同步按钮我得到了很多wrapFn@http://localhost:4200/polyfills.bundle.js:3614:1并且在firefox上出现了太多的递归错误。 Chrome告诉我超出了最大调用堆栈大小。

任何帮助都将不胜感激。

编辑...好了,现在我完全糊涂了......我通过创建一个静态html文件并在浏览器中运行它并使用EXCACTLY相同的脚本来实现它:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>RemoteCouch</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
    <h3>Hello World</h3>

    <script type="text/javascript" src="PATH/pouchdb.min.js"></script>
    <script>
        var db = new PouchDB('new');

        db.post({
          name: 'David',
          age: 69
        });

        db.changes().on('change', function() {
          console.log('Ch-Ch-Changes');
        });

        db.replicate.to('http://10.20.20.37:5984/new');
    </script>
</body>
</html>

我使用tapio / live-server托管此文件,它可以正常工作。这可能是一个角度问题,或者我只是做错了什么。

再试一次我创建了一个新项目,添加了像这里描述的pouchdb https://github.com/nolanlawson/pouchdb-find/issues/201并在纯打字稿中进行了相同的测试,但是由于被怀疑错误仍然存​​在。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,显然这是zone.js的一个问题。应该在下一个版本中解决。暂时使用v.0.8.16解决了我的问题。

"zone.js": "0.8.16"

以下是对github问题的引用:https://github.com/angular/zone.js/issues/886