我有一个可观察的事情,http处理其他可观察事件的过程中。 在http获取除200之外的任何其他响应代码的情况下,我想记下此错误,但继续进行下一个可观察事件。如何处理可观察的错误,但继续跟踪可观察的?
到目前为止,我有这样的:
this.getConfigurationSettings()
.do(config => {
console.log('configuration settings.: ', config);
this.configSettings = config;
this.subscriptionService.setWSAddressProvider('badUrl');
})
.switchMap(config => this.askForWSData())
.do(config =>
console.log('askForWSData' + config))
.switchMap(r => this.processWSData())
.subscribe(
config => {
console.log('start of data processing: ' + config);
},
err => {
// Log errors if any
console.log(err);
},
() => console.log('app exiting'));
和能够返回一个HTTP错误代码可观察如下:
setWSAddressProvider() : Observable<string[]> {
return this.http.get('badUrl')
.map((res:Response) => {
this.address = res.text();
return [res.text()];
});
// .catch((error:any) =>
// Observable.throw('Server error')
//);
}
上述情况下产生400响应代码。我想记录那个回报,但继续到其他观察。 如何做到这一点?
尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/评论/低质量帖/ 15866516) – edtheprogrammerguy
更新,感谢评论@edtheprogrammerguy – Steveland83
...为什么评论没有评论? – supertopi