我有一个名为companies
的资源数组,我在另一个资源上运行一些查询调用,然后触发一个回调。我尝试了以下操作,但回调立即被调用:
$q.all(companies.map(function(company) {
return Person.query({
companyId: company.id
});
})).then(function(people) {
// do stuff
});
答案 0 :(得分:1)
您需要向$q.all
提供一个promise数组,让它等待基础的promise履行,使用资源返回的$promise
属性。
$q.all(companies.map(function(company) {
return Person.query({
companyId: company.id
}).$promise; //<-- Here
})).then(function(people) {
console.log(people);
});
<强> Demo 强>