【发布时间】:2014-02-24 17:45:51
【问题描述】:
我有这个代码:
GamesStatsService.query({ level: 1 }).$promise.then(function(consoles) {
$scope.consoles = consoles;
_.each(consoles, function(c) {
GamesStatsService.query({ consoleName: c.id, level: 2 }).$promise.then(function(regions) {
c.regions = regions;
_.each(regions, function(r) {
GamesStatsService.query({ consoleName: c.id, regionName: r.id, level: 3 }).$promise.then(function(subRegions) {
r.subRegions = subRegions;
console.log('(maybe) finished loading, notify subscriber!');
});
});
});
});
});
现在我想知道什么时候一切都解决了,我猜我应该为此使用 $q.all() 。问题是调用取决于前面的步骤输出,并且由于我正在对每个先前的输出进行调用,所以应该将承诺放在哪里?
级别总是 3 深,因此不需要递归。
我们将不胜感激!
【问题讨论】:
标签: javascript angularjs promise q