首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Promise()的ECMA 6语法

Promise()的ECMA 6语法
EN

Stack Overflow用户
提问于 2017-07-12 13:56:42
回答 1查看 31关注 0票数 1

如果响应正文中包含一些错误代码,我如何修改此promise代码以抛出错误?

代码语言:javascript
复制
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为真时抛出错误。否则,承诺应该就会解决。

EN

回答 1

Stack Overflow用户

发布于 2017-07-12 14:04:09

您可以在then回调中抛出任何错误。因此,在您的情况下,它可能是:

代码语言:javascript
复制
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);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45049476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档