ger*_*ric 12 observable rxjs angular
有没有办法不仅映射成功的响应而且还映射错误?
我想在订阅功能中获得修改后的错误
request.subscribe(
response => {
this.user = response;
},
error => {
this.error = error;
}
);
Run Code Online (Sandbox Code Playgroud)
我已经试过了
let request = this.http.put(url, JSON.stringify(user))
.map(
response => response.json(),
error => this.handleError(error) // returns a string
);
Run Code Online (Sandbox Code Playgroud)
但handleError永远不会被执行.
提前致谢.
Thi*_*ier 15
要映射错误响应的结果,您需要使用catch运算符:
let request = this.http.put(url, JSON.stringify(user)).map(
response => response.json())
.catch(
error => this.handleError(error)
);
Run Code Online (Sandbox Code Playgroud)
仅在成功响应时调用map运算符中指定的回调.
如果你想"映射"错误,可以使用类似的东西:
this.http.get(...)
.map(...)
.catch(res => Observable.throw(res.json())
Run Code Online (Sandbox Code Playgroud)
在这种情况下,映射的错误将提供给subscribe方法的第二个参数中定义的回调.
| 归档时间: |
|
| 查看次数: |
10967 次 |
| 最近记录: |