您好:我的术语树最多可包含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) {
for (var j = 0; j < t1.length; j++)
{
// process t1 items the same as t0...
}
});
}
});
最后,我有一个看起来像树的层次结构,其中t0项位于第一级,t1位于第二级,t2位于第3级。此层次结构存储在变量allTerms。
中问题是我仍然无法确定遍历完成时的情况。我知道我可以创建一个promises数组并添加它们,但问题是我有一个可变数量的术语,每个术语都会在树的不同级别上进行异步调用,并且在等待时,promise的数组可能会达到零一个包含更多数据的回调。
我期待着您就解决这个问题提出建议。感谢。