В основном у меня есть компонент со списком элементов, и у меня есть компонент детали, где вы можете редактировать или добавлять новый элемент.Порядок асинхронных HTTP-запросов
После добавления элемента через службу http (этот.myservice основан на hero.service.ts из документации https://angular.io/docs/ts/latest/tutorial/toh-pt6.html) на мой сервер. Затем я сразу возвращаюсь к списку элементов.
Я использую Zone, так что вызывается ngOnInit. Angular 2 ngOnInit not called
Проблема в том, что довольно часто список элементов не обновляется новым элементом. Я полагаю, что порядок асинхронных HTTP-запросов путается.
Как выглядит хорошее решение?
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);
}
}
спасибо. Ваше решение очень аккуратное и простое. – Johannes