我需要显示项目的树结构,我的问题是我应该如何加载这个结构
假设我想要一个这样的结构:
Parent1
- Child1
- Child2
Parent2
- Child1
Parent3
- Child1
加载“父母”时,我会这样做
var parents = [];
var promise = ParentService.queryParent();
promise.then(function(response){
angular.forEach(response, function(item){
// another promise here?
parents.push(item);
});
}, function(reason){
console.log(reason);
});
但我应该怎样加载'孩子'?我的第一个想法是在第一个承诺的forEach
内创造另一个承诺,但是如果我有很多父母,并且每个父母都有很多孩子,这就不会很好地扩展(这里有一些很大的符号)这是我猜的最差的那种)
我应该如何处理这个问题,任何想法?
编辑:这是我在第一个承诺中的第二个承诺
var promise = ParentService.queryParent();
promise.then(function(response){
angular.forEach(response, function(item){
parents.push(item);
var promise2 = ChildService.queryChild(item.ID);
promise2.then(function(response){
angular.forEach(response, function(item){
children.push(item);
});
}, function(reason){console.log(reason);});
});
}, function(reason){console.log(reason);});
问题:这样做会显示所有父母,但不显示他们的孩子。孩子们在那里,但似乎观点无法跟上,这可能是什么原因?