Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我答应fancytree_Javascript_Promise_Pouchdb_Fancytree - Fatal编程技术网

Javascript 我答应fancytree

Javascript 我答应fancytree,javascript,promise,pouchdb,fancytree,Javascript,Promise,Pouchdb,Fancytree,我试图为fancytree的源选项提供一个承诺。承诺应该做4件事: 从PockDB数据库获取文档(使用promise allDocs()) 从数据库内容生成树根-同步 订阅数据库中的更改(使用changes()提要) 从2返回树根。到源头 我显然做错了什么。第一部分。二,。承诺的一部分正在执行,但其余部分被忽略。我怀疑我误解了同步和异步行为混合的承诺链。我欢迎大家就我做错了什么提出建议 基本上这是我的代码: $(function(){ $("#tree").fancytree(

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

  • 从PockDB数据库获取文档(使用promise allDocs())
  • 从数据库内容生成树根-同步
  • 订阅数据库中的更改(使用changes()提要)
  • 从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;
                })
            }
        )
    

    道歉-承诺链很好。我的GeneratorOtNodes函数有一个错误,导致承诺链中止