Grundsätzlich habe ich eine Komponente mit einer Liste von Elementen und ich habe eine Detailkomponente, wo Sie ein neues Element bearbeiten oder hinzufügen können.Reihenfolge der asynchronen HTTP-Anfragen
Nachdem ich ein Element über einen http-Dienst (this.myservice basiert auf hero.service.ts aus der Dokumentation https://angular.io/docs/ts/latest/tutorial/toh-pt6.html) zu meinem Server hinzugefügt. Dann springe ich direkt zurück zur Liste der Elementkomponenten.
Ich benutze Zone, so dass ngOnInit aufgerufen wird. Angular 2 ngOnInit not called
Das Problem ist, dass die Liste der Elemente nicht oft mit dem neuen Element aktualisiert wird. Ich nehme an, die Reihenfolge der asynchronen HTTP-Anfragen wird durcheinandergebracht.
Wie würde eine gute Lösung aussehen?
export class DetailElemComp {
this.myService.addElem(this.elem)
.subscribe(
error => this.errorMessage = <any>error);
this.zone.run(() => this.router.navigate(['ListComponent']));
}
export class ListOfElemComp {
ngOnInit() {
this.myService.getElems()
.subscribe(
elems => this.elems = elems,
error => this.errorMessage = <any>error);
}
}
Vielen Dank. Ihre Lösung ist sehr ordentlich und einfach. – Johannes