我正在使用fancytree插件呈现目录结构,我正在尝试让lazyLoad工作。
lazyLoad: function (event, data) {
data.result = {
url: 'get_tree',
data: {'key':data.node.key}
};
}
即使名称get_tree表示返回给定键的树,但它不会。我们的网站设置方式是将get_tree作为任务分派给池中的随机服务器,而返回作业ID。为了获得实际的树,我有一个名为poll_job的函数,它将持续轮询作业,直到它完成并返回树。
显然,上面的代码会立即排除树,但事实并非如此。我该如何处理?是否有一些pre lazyLoad事件我可以附加到fancytree,它将首先在lazyLoad'之前触发。在这里,我将启动get_tree并将该任务ID传递给lazyLoad。还有另一种方法吗?
答案 0 :(得分:1)
{{1}}接受deferred promises,因此您可以在数据最终到达后立即返回承诺并解决:
{{1}}
有关详细信息,请参阅https://github.com/mar10/fancytree/wiki/TutorialLoadData。