基本的には、要素のリストを持つコンポーネントがあり、新しい要素を編集または追加できる詳細コンポーネントがあります。非同期HTTPリクエストの順序
httpサービス(this.myserviceはドキュメントhttps://angular.io/docs/ts/latest/tutorial/toh-pt6.htmlのhero.service.tsに基づいています)を介して要素を追加した後、私のサーバーに送信します。それから要素の要素のリストに直接ジャンプします。
私は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