ho una singola fabbrica definita con ngResource:AngularJS - attendere più query di risorse per completare
App.factory('Account', function($resource) {
return $resource('url', {}, {
query: { method: 'GET' }
});
});
sto facendo più chiamate al metodo query definita in questa fabbrica. Le chiamate possono avvenire in modo asincrono, ma ho bisogno di aspettare che le chiamate per completare prima di continuare:
App.controller('AccountsCtrl', function ($scope, Account) {
$scope.loadAccounts = function() {
var billingAccounts = Account.query({ type: 'billing' });
var shippingAccounts = Account.query({ type: 'shipping' });
// wait for both calls to complete before returning
};
});
C'è un modo per fare questo con AngularJS fabbriche definiti con ngResource, simile a quella di jQuery $ .quando() poi.() funzionalità? Preferirei non aggiungere jQuery al mio progetto attuale.
Le risorse non restituiscono promesse, restituiscono gli oggetti da riempire in futuro. Tuttavia, nella versione * unstable * 1.1.3, le risorse hanno anche la proprietà '$ then' ma non espongono alcun oggetto promessa. Esporre '$ promise' completamente sarebbe in 1.1.4 –
@ UmurKontacı Questo purtroppo non * * in 1.1.4 angolare! – nh2
Dettagli su * risorse non sono promesse problema * può essere trovato in [questo thread] (https://groups.google.com/forum/#!msg/angular/N5yBJvl7Pbg/C48oelQu6DgJ) e in [questa richiesta pull] (https://github.com/angular/angular.js/pull/2060#issuecomment-17026079). – nh2