angular 中的处理状态
Handle status in angular
我在 angular 7.
中有关注
public deleteId(pId){
return this.http.delete<any>(this.deleteUrl(pId), {observe: 'response'})
.pipe(catchError(this.handleError));
}
删除方法(我要response.status这里的202代码)
public deleteMethod(): void {
this.service.deleteId(this.id)
.subscribe(response => {
console.log(`Delete response ` , response);
if(response.status === 200) {
console.log('Deleted successfully');
}
else if(response.status === 202) {
console.log('something else'); // I am not getting response.status here
}
});
}
我正在正确获取状态代码 200,但是,我正在使用 handleError
方法获取 202。我想要 202 作为回应。我怎样才能得到它?
private handleError(error: HttpErrorResponse) {
//It sends me to this function.
}
public deleteMethod(): void {
this.service.deleteId(this.id)
.subscribe(response => {
console.log(`Delete response ` , response);
if(response.status === 200) {
console.log('Deleted successfully');
}
},
err => {
console.log(err.status); // ----> Here's your error
if(err.status === 202) {
// do your stuff
}
}
);
}
最后我得到了以下解决方案:
public deleteId(pId){
return this.http.delete<any>(this.deleteUrl(pId), {observe: 'response', responseType: 'text' as 'json'})
.pipe(catchError(this.handleError));
}
已添加, responseType: 'text' as 'json'
我在 angular 7.
中有关注public deleteId(pId){
return this.http.delete<any>(this.deleteUrl(pId), {observe: 'response'})
.pipe(catchError(this.handleError));
}
删除方法(我要response.status这里的202代码)
public deleteMethod(): void {
this.service.deleteId(this.id)
.subscribe(response => {
console.log(`Delete response ` , response);
if(response.status === 200) {
console.log('Deleted successfully');
}
else if(response.status === 202) {
console.log('something else'); // I am not getting response.status here
}
});
}
我正在正确获取状态代码 200,但是,我正在使用 handleError
方法获取 202。我想要 202 作为回应。我怎样才能得到它?
private handleError(error: HttpErrorResponse) {
//It sends me to this function.
}
public deleteMethod(): void {
this.service.deleteId(this.id)
.subscribe(response => {
console.log(`Delete response ` , response);
if(response.status === 200) {
console.log('Deleted successfully');
}
},
err => {
console.log(err.status); // ----> Here's your error
if(err.status === 202) {
// do your stuff
}
}
);
}
最后我得到了以下解决方案:
public deleteId(pId){
return this.http.delete<any>(this.deleteUrl(pId), {observe: 'response', responseType: 'text' as 'json'})
.pipe(catchError(this.handleError));
}
已添加, responseType: 'text' as 'json'