observable - Observable 没有使用 Angular 12 抛出任何错误/错误状态
问题描述
我使用的是很久以前用 Angular 4 制作的教程,从那时起发生了很多变化,现在我正在使用 Angular12。
我通过使用来自 rxjs 的 Observable 和使用管道的 catchError 完成了根据 Angular 12 的更改,并且我使用https://jsonplaceholder.typicode.com/posts作为假的 REST API。我在 google 上搜索得到 observable 的响应状态。但我无法获得响应状态。这是代码。我得到 200 而不是 404/400,我也看不到 200 响应。有人可以让我知道如何获得响应状态。
// component code
deletePost(post) {
this.service.deletePosts(345)
.subscribe(
response => {
console.log(response);
let index = this.posts.indexOf(345)
console.log(index)
this.posts.splice(index, 1);
},
(error: AppError) => {
if(error instanceof NotFoundError)
alert('This post has already been deleted');
else {
alert('An Unexpected error occured');
console.log(error);
}
})
}
// below is the service code.
deletePosts(id) {
return this.http.delete(this.url + '/' + id)
.pipe(
catchError((error: Response)=> {
if(error.status === 404) {
return throwError(new NotFoundError())
}
return throwError(new AppError(error));
})
)
}
解决方案
推荐阅读
- jquery - Jquery点击功能似乎只工作一次
- sum - DAX 计算值的总和
- dialogflow-es - 如何在 Dialogflow beta 聊天机器人中添加麦克风
- postgresql - 在 SQL postgresql 中解析键:值对
- python - 连接时无法找到暗淡的设备,但在扫描时
- javascript - 使用模板文字创建对象时需要的属性分配
- git - Git:变基到相等的分支(具有不同的历史)冲突,cherry-pick 没有
- python - 减去python请求
- javascript - 我可以在不使用 useState 的情况下访问 useEffect 中的变量吗?
- octopus-deploy - 变量名中的通配符