我已经阅读了有关处理错误的Angular文档,但是我想得到一些澄清。
我提出了几个http请求,然后订阅并通过subscription处理错误。我只是想知道这是否可以处理所有错误?
我这样做:
this._apiService.dataMeta(id).subscribe((information: any) => { //subscribe to the returned data
if (information.data.length != 0) {
//do something with information
} else {
this.UserData['Error1'] = user;
}
},
error => {
if(error.status == '401 '|| error.status == '400'){
this.router.navigate(['/results'])
this._dataService.saveApiError();
}
else{
this.UserData['Error1'] = user;
}
}
想法是我向API发出请求。当没有数据返回时,它给出了一个空的对象,这就是为什么我要检查长度。首先在error
上检查这是400还是401错误,并采取相应措施。如果是的话,我可以导航到其他地方,如果不是的话,我想简单地将某些内容存储在数组中,然后再检查该数组。
我基本上只是想确保此设置可以处理从HTTP请求收到的所有错误?它可以很好地处理401和400,但是我没有一种方法可以测试所有其他可能的错误。