【发布时间】:2020-05-15 06:52:05
【问题描述】:
我被这样的场景难住了:我利用 promise(then|catch) 来处理错误,但还要等待代码清洁。以下是我正在查看的内容:
let rules:Rules = await elb.describeRules(params).promise().then(_handleSuccess).catch(_handleError);
错误处理程序是:
function _handleError(e:AWSError) {
console.error(`Error getting rules info - [${e.code}] ${e.message}`);
throw(e)
}
成功处理程序是:
function _handleSuccess(res:DescribeRulesOutput) {
console.log(`Get rules info: ${JSON.stringify(res.Rules,null,4)}`);
return res.Rules ;
}
因为我的错误处理程序总是会重新抛出,所以我永远不会收到响应。我的 IDE(VSCode)告诉我以下内容:
Type 'void | Rules' is not assignable to type 'Rules'.
Type 'void' is not assignable to type 'Rules'.ts
现在,如果我使用let rules:Rules|void,那么我可以,但这是一种好的做法吗?
【问题讨论】:
标签: typescript aws-sdk-js