【发布时间】:2017-04-18 02:40:16
【问题描述】:
我有一个 observable,在处理其他 observable 的过程中是否有一个 http。 对于除 200 之外的任何 http get 响应代码,我想记下此错误,但继续进行下一个 observable。
到目前为止,我有这个:
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错误码的observable如下:
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 响应代码。我想记录该回报,但继续其他可观察的。 该怎么做?
【问题讨论】: