<分区>
我正在履行 AWS JS SDK 提供的 promise .当我创建一个包装 AWS SDK 的异步函数时,我正在做的事情的要点如下所示:
module.exports.myCustomFunction = input => {
if (badInput) {
throw new Error('failed') // <-- This is they key line
}
return sns.createTopic(someParams).promise()
}
// The caller looks like this:
myModule.myCustomFunction(someInput).then(result => {
// carry on
})
.catch(err => {
// do something with the error
})
有人找到我,他说我永远不应该在这些基于 promise 的函数中抛出错误。他们建议改为返回 Promise.reject('failed')
。老实说,我对 promises 还不是很了解,所以他们的解释有点让我难以理解。