Это, наверное, глупый вопрос, но средняя цепочка обещаний, как вы отвергаете обещание изнутри одной из функций? Например:Как отклонить обещание изнутри, тогда функция
someActionThatReturnsAPromise()
.then(function(resource) {
return modifyResource(resource)
})
.then(function(modifiedResource) {
if (!isValid(modifiedResource)) {
var validationError = getValidationError(modifiedResource);
// fail promise with validationError
}
})
.catch(function() {
// oh noes
});
Больше нет ссылки на оригинальную функцию разрешения/отклонения или PromiseResolver. Я просто должен добавить return Promise.reject(validationError);
?
бросить исключение? – thefourtheye
'throw validationError' – kavun
><У меня было ощущение, что это будет что-то глупое/легкое. Думаю, я продолжал думать, что я должен был вызвать функцию отклонения или вернуть неудачное обещание. Итак, изнутри обещания/thenable, любое возвращаемое значение, которое не является новым обещанием, будет считаться разрешенным значением? И если я ошибаюсь, это то же самое, что и возвращение немедленно отклоненного обещания? Если вы опубликуете это в качестве ответа, я соглашусь с ним. – chinabuffet