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