使用的角最新版本我有一个非常小的,简单的应用程序路由器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,并且非常坚持快乐的路径。
'数据=> {//业务逻辑在这里}), ERR => //你error' 如果你想在错误再次使用这个建议ngOnIt> >调用函数>>错误>>再次执行功能 – Swoox