假设我想转换在 NodeJs 中使用 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
时那样省略大括号?
throw 是一个语句,因此不能在需要表达式的地方使用它。不带花括号的箭头函数版本需要一个表达式。你可以返回被拒绝的 Promise 而不是抛出:
rp.get(options)
.catch(err => Promise.reject({'statusCode': err.statusCode ? err.statusCode : 503}));