0

というリソースの配列がありcompanies、それに基づいて別のリソースに対していくつかのクエリ呼び出しを実行し、コールバックを起動します。私は次のことを試しましたが、コールバックはすぐに呼び出されます:

$q.all(companies.map(function(company) {
  return Person.query({
    companyId: company.id
  });
})).then(function(people) {
  // do stuff
});

http://plnkr.co/edit/OxasetGYU7xwojUNreiA?p=preview

4

1 に答える 1

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);
});

デモ

于 2014-08-13T23:33:24.633 に答える