如果响应在响应正文中包含一些错误代码,我如何修改此保证代码以引发错误?
return this.httpService.post('/create', data)
.toPromise()
.then(response => response.json() as CreatedResponse)
.catch(this.handleCreateError);
如果.then(response => response.json() as CreatedResponse)
为真,我需要修改response.json().hasError
以抛出错误。否则承诺应该解决。
答案 0 :(得分:3)
您可以在then
回调中抛出任何错误。所以在你的情况下它可能是:
return this.httpService.post('/create', data)
.toPromise()
.then(response => response.json() as CreatedResponse)
.then(json => {
if (json.hasError) {
throw Error('Response is not valid');
} else {
return json;
}
})
.catch(this.handleCreateError);