У меня есть цепочка обещаний, которая требует, чтобы отклонение обрабатывалось по-разному для отдельных шагов:
serviceA.getData()
.then(
function(dataA) {
return serviceB.getData(dataA);
}, function(err) {
res.status(404).end();
}
)
.then(
function(dataB) {
return serviceC.getData(dataB);
}, function(err) {
res.status(401).end();
}
)
.done();
Когда обещание serviceA.getData()
отклоняется, я хочу, чтобы цепочка обещаний прерывалась после выполнения первого обработчика отклонения. Вместо этого выполняются оба обработчика отказа.
Не удалось найти ответ в документах Q. Предложения?
try-catch
и передать информацию о типе ошибки, которая произошла внешнему (try catch) коду из ваших обработчиков отклонения путемthrow
ing исключений. - person Hrishi   schedule 20.10.2014