Ich möchte meine Anwendung mit Daten, die ich von einem Dienst abzurufen, Bootstrap. Ich tue etwas entlang der Linien vonangular2 bootstrap mit Daten von AJAX-Aufruf (en)
let dependencies = [
//... a load of dependencies
MyService
];
let injector = Injector.resolveAndCreate(dependencies);
let service: MyService = injector.get(MyService);
service.getData() // returns observable
.toPromise()
.then((d) => {
// use data to append to dependencies
bootstrap(App, dependencies)
});
Dies funktioniert gut, aber ich weiß nicht, wie die Abhängigkeit Array zweimal, gibt es eine sauberere Möglichkeit, dies zu tun? Kann ich dem Anwendungsinjektor nach dem Bootstrap Dinge hinzufügen? Außerdem stelle ich fest, dass die Bootstrap-Funktion ein Versprechen zurückgibt. Kann ich dieses Versprechen verwenden, um den Bootstrap der Anwendung zu verhindern, bis meine Ajax-Anfrage beendet ist?
Natürlich könnte ich für die Injector
nur die Abhängigkeiten von MyService
benötigt verwenden, aber das macht es sehr brüchig, wie Sie sich vorstellen können.