In routeProvider
possiamo tenere lo routing
se forniamo un oggetto di risoluzione che contiene promesse; aspetterebbe che tutte le promesse siano risolte. Tuttavia, non ho trovato il modo di farlo nell'inizializzazione dell'applicazione.In attesa di un'inizializzazione di un servizio fino a quando non vengono risolte tutte le promesse
C'è angular.module("app", []).run(function(){ //init app })
ma per un $resource
o $http
che è asincrona, l'applicazione può terminare l'inizializzazione prima che le dipendenze (promesse) sono risolti che creerebbe una race condition
. Non lo vogliamo.
Quindi la domanda è, c'è un modo che possa contenere l'inizializzazione di un service
finché tutte le promesse date non vengono risolte?
Non si desidera [Inizializzazione manuale] (http://docs.angularjs.org/guide/bootstrap)? –
L'impostazione di un callback per l'init manuale di una risoluzione di promessa funzionerebbe, tuttavia non è elegante, l'angolare ha un DI profondo, perché non possiamo trarne vantaggio? Come * se la dipendenza è una promessa, risolvila prima di andare oltre * –
Poiché non hai incluso il tuo codice effettivo delle tue app, non posso dirlo, ma penso che queste domande riguardino lo stesso problema: http://stackoverflow.com/questions/12265565/angularjs-promise-is-resolved-before-data-is-loaded? rq = 1 –