假设我想在NodeJ中使用promise时转换一个错误。
例如,在下面的代码中使用request-promise模块,当我为某个URI制作GET
时,我试图将错误修改为更简单的错误。
const options = {
'uri': uri,
'headers': { 'Accept-Charset': 'utf-8' }
}
rp.get(options)
.catch(err => {
throw {'statusCode': err.statusCode ? err.statusCode : 503}
})
无论如何,像使用return
一样,我是否可以省略花括号?
答案 0 :(得分:1)
throw是一条语句,因此不能在需要表达式的地方使用它。没有花括号的箭头功能版本需要一个表达式。您可以返回被拒绝的Promise而不是抛出:
rp.get(options)
.catch(err => Promise.reject({'statusCode': err.statusCode ? err.statusCode : 503}));