【问题标题】:pouchdb promise to fancytreepouchdb 对花式树的承诺
【发布时间】:2018-10-08 08:41:55
【问题描述】:

我正在尝试为 fancytree 的源选项提供一个承诺。承诺应该做 4 件事:

  1. 从 pouchdb 数据库中获取文档(使用 promise allDocs())
  2. 从 db 内容生成树根 - 同步
  3. 订阅数据库中的更改(使用 changes() 提要)
  4. 将树根从 2. 返回到源。

我显然做错了什么。承诺的第 1 部分和第 2 部分正在执行,但其余部分被忽略。我怀疑我误解了混合同步和异步行为的承诺链接。我欢迎就我做错的地方提出建议。

所以基本上这是我的代码:

$(function(){
    $("#tree").fancytree(
        source: function fetchDocsAndSubscribe () {
            return pouch.allDocs({...})
            .then (function (docs) {
                return generateRootNodes (docs) // sync
            })
            .then (function (rootNodes) {
                pouch.changes({live: true,....})
                .on('change', function (change) {
                    onChange (change);
                })
                .on('error', function (error) {
                    console.log("Change error: " + error);
                });
                return rootNodes;
            })
            .catch(function (err) {console.log('error: ' + err);
                return;
            })
        }
    )

【问题讨论】:

    标签: javascript promise pouchdb fancytree


    【解决方案1】:

    道歉 - 承诺链很好。我的 generateRootNodes 函数有一个错误,它正在中止承诺链

    【讨论】:

      猜你喜欢
      • 2017-01-12
      • 2015-12-22
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 2015-12-22
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多