проверка покажет вам, следует ли продолжить или вылетать.
от вопрос уже есть ответ здесь:
Должен ли асинхронный API когда-либо генерировать синхронно? 3 ответаЯ работаю с обещаниями, даннымиAWS JS SDK, Суть того, что я делаю, когда создаю асинхронную функцию, которая оборачивает 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.reject('failed')
вместо. Честно говоря, я еще не очень хорошо разбираюсь в обещаниях, так что их объяснение как бы пошло мне на ум.