In routeProvider
können wir die routing
halten, wenn wir ein Entschlossenheitsobjekt geben, das Versprechen enthält; es würde warten, bis alle Versprechen gelöst sind. Allerdings konnte ich bei der Initialisierung der Anwendung keinen Weg finden.Halten Sie die Initialisierung eines Dienstes, bis alle Versprechen gelöst sind
Es gibt angular.module("app", []).run(function(){ //init app })
aber eine für $resource
oder $http
die async ist, kann die App Initialisierung beenden, bevor die Abhängigkeiten (Versprechen) aufgelöst, die eine race condition
schaffen würde. Das wollen wir nicht.
Also die Frage ist, gibt es einen Weg, der die Initialisierung eines service
halten würde, bis alle gegebenen Versprechen gelöst sind?
Wollen Sie nicht [Manuelle Initialisierung] (http://docs.angularjs.org/guide/bootstrap)? –
Einen Rückruf zu manueller Init eines Versprechens zu setzen Auflösung würde funktionieren, aber es ist nicht elegant, eckig hat eine große DI, warum können wir davon nicht profitieren? Wie * Wenn die Abhängigkeit eine Verheißung ist, löse sie, bevor du weiter gehst * –
Da du deinen eigentlichen Apps-Code nicht eingebunden hast, kann ich das nicht sagen, aber ich denke, dass diese Frage das gleiche Problem behandelt: http://stackoverflow.com/questions/12265565/angularjs-promise-is-resolved-vor-data-is-loaded? rq = 1 –