首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在lambdas/箭头函数中抛出不带大括号的错误

在lambdas/箭头函数中抛出不带大括号的错误
EN

Stack Overflow用户
提问于 2018-12-07 04:51:45
回答 1查看 232关注 0票数 3

假设我想在NodeJs中使用promises时转换一个错误。

例如,在为某个URI创建GET时,在下面的代码中使用request-promise模块时,我试图将错误修改为一个更简单的错误。

代码语言:javascript
复制
const options = {
  'uri': uri,
  'headers': { 'Accept-Charset': 'utf-8' }
}

rp.get(options)
  .catch(err => {
    throw {'statusCode': err.statusCode ? err.statusCode : 503}
  })

我可以像使用return时那样省略大括号吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-07 05:02:29

throw是一条语句,因此不能在需要表达式的地方使用它。没有大括号的箭头函数版本需要一个表达式。你可以返回一个被拒绝的承诺,而不是抛出:

代码语言:javascript
复制
rp.get(options)
  .catch(err => Promise.reject({'statusCode': err.statusCode ? err.statusCode : 503}));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53659495

复制
相关文章

相似问题

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