I have a single factory defined with ngResource:
App.factory(\'Account\', function($resource) {
return $resource(\'url\', {}, {
query: { method:
The solution from Ben Lesh is the best but it's not complete. If you need to handle error conditions--and, yes, you do--then you must use the catch method on the promise API like this:
$q.all([
doQuery('billing'),
doQuery('shipping')
]).then(function(data) {
var billingAccounts = data[0];
var shippingAccounts = data[1];
//TODO: something...
}).catch(function(data) {
//TODO: handle the error conditions...
}).finally(function () {
//TODO: do final clean up work, etc...
});
If you don't define catch and all of your promises fail, then the then method won't ever execute and thus will probably leave your interface in a bad state.