を使用して、ルータのparamMapとサブスクリプションを失う - 以下参照:角度4、私は非常に小さく、簡単なアプリケーションを持っている角度の最新バージョンを使用してswitchMap
を予測詳細コンポーネントは、次のようになります。
public getForecastData(forecastId) : Observable<any> {
return this.http.get<any>('/api/forecasts/' + forecastId + '/data');
}
ngOnInit() {
this.route.paramMap
.switchMap(
params => {
return this.getForecastData(params.get('id'))
})
})
.subscribe((data) => {
// business logic here
});
私が抱えている問題は、getForecastData呼び出しが失敗した場合(サーバーが500を返す)、ルータのparamMap observableへのサブスクリプションが失われているようです。別の予測に移動しようとしましたが、getForecastDataメソッドは呼び出されません。
私は何らかのエラー処理が必要だと思っていますが、どこでこれを処理する必要がありますか?サブスクライブの中でエラーコールを追加することは、別のObservableを返す必要がなければ機能していないようです。
これは基本的にAngularサイトのチュートリアルからの適応ですが、静的なデータを持つPromiseを返信し、幸せな道にはまっています。
'データ=> {//ここにビジネスロジック})、エラーで再びこれを使用する場合=> //あなたのERROR' errがngOnItをお勧めします> >関数呼び出し>>エラー>>再び機能する – Swoox