映射http错误响应
Map http error response
有没有办法既映射成功响应又映射错误?
我想在订阅函数中获取修改错误
request.subscribe(
response => {
this.user = response;
},
error => {
this.error = error;
}
);
我已经试过了
let request = this.http.put(url, JSON.stringify(user))
.map(
response => response.json(),
error => this.handleError(error) // returns a string
);
但是 handleError
永远不会被执行。
提前致谢。
映射错误响应的结果,需要使用catch操作符:
let request = this.http.put(url, JSON.stringify(user)).map(
response => response.json())
.catch(
error => this.handleError(error)
);
地图运算符中指定的回调仅在成功响应时调用。
如果你想 "map" 错误,你可以使用类似的东西:
this.http.get(...)
.map(...)
.catch(res => Observable.throw(res.json())
在这种情况下,映射的错误将提供给订阅方法的第二个参数中定义的回调。
有没有办法既映射成功响应又映射错误?
我想在订阅函数中获取修改错误
request.subscribe(
response => {
this.user = response;
},
error => {
this.error = error;
}
);
我已经试过了
let request = this.http.put(url, JSON.stringify(user))
.map(
response => response.json(),
error => this.handleError(error) // returns a string
);
但是 handleError
永远不会被执行。
提前致谢。
映射错误响应的结果,需要使用catch操作符:
let request = this.http.put(url, JSON.stringify(user)).map(
response => response.json())
.catch(
error => this.handleError(error)
);
地图运算符中指定的回调仅在成功响应时调用。
如果你想 "map" 错误,你可以使用类似的东西:
this.http.get(...)
.map(...)
.catch(res => Observable.throw(res.json())
在这种情况下,映射的错误将提供给订阅方法的第二个参数中定义的回调。