Javascript/jQuery承诺,在树中处理可变数量的承诺
您好:我有一个术语树,最多可以包含3个级别。我有一个函数“getTerms”,它以jQuery的形式返回树中的项目列表。然后,我有一个类似这样的循环:Javascript/jQuery承诺,在树中处理可变数量的承诺,javascript,jquery,asynchronous,Javascript,Jquery,Asynchronous,您好:我有一个术语树,最多可以包含3个级别。我有一个函数“getTerms”,它以jQuery的形式返回树中的项目列表。然后,我有一个类似这样的循环: getTerms().then(function(t0) { for (var i = 0; i < t0.length; i++) { t0[i]["children"] = []; allTerms.push(t0[i]); getTerms(t0[i]).then(function(t1) {
getTerms().then(function(t0) {
for (var i = 0; i < t0.length; i++)
{
t0[i]["children"] = [];
allTerms.push(t0[i]);
getTerms(t0[i]).then(function(t1) {
for (var j = 0; j < t1.length; j++)
{
// process t1 items the same as t0...
}
});
}
});
getTerms().then(函数(t0){
对于(变量i=0;i
最后,我有一个类似于树的层次结构,t0项位于第一级,t1项位于第二级,t2项位于第三级。此层次结构存储在变量allTerms中
问题是我仍然没有真正的方法来判断遍历何时完成。我知道我可以创建一个承诺数组并添加它们,但问题是我有一个可变数量的术语,每个术语在树的不同级别上旋转异步调用,并且在任何时候,承诺数组都可能在等待包含更多数据的回调时达到零
我期待着你对解决这个问题的建议。谢谢