반응형
내부에서 약속을 거부하고 기능하는 방법
이것은 아마도 어리석은 질문 일 것입니다. 그러나 중간 약속 체인, then 함수 중 하나에서 약속을 어떻게 거부합니까? 예를 들면 :
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);
되나요?
추가하면
return Promise.reject(validationError);
되나요?
예. 그러나 Promise / A + 호환 라이브러리를 사용하면 jQuery에서만 그렇게 복잡 합니다.
throw validationError;
따라서 코드는 다음과 같습니다.
someActionThatReturnsAPromise()
.then(modifyResource)
.then(function(modifiedResource) {
if (!isValid(modifiedResource))
throw getValidationError(modifiedResource);
// else !
return modifiedResource;
})
.catch(function() {
// oh noes
});
참고 URL : https://stackoverflow.com/questions/21260602/how-to-reject-a-promise-from-inside-then-function
반응형
'IT박스' 카테고리의 다른 글
엔티티 / 비즈니스 객체에 대한 종속성을 해결하기 위해 IoC 컨테이너를 사용하지 않는 이유는 무엇입니까? (0) | 2020.10.15 |
---|---|
Linux에서 Windows 대상으로의 교차 컴파일을 위해 Qt를 구성하려면 어떻게해야합니까? (0) | 2020.10.15 |
ProGuard : 라이브러리 클래스의 중복 정의? (0) | 2020.10.15 |
TensorFlow 모델로 예측하기 (0) | 2020.10.15 |
Clojure 함수가 가변 개수의 매개 변수를 사용하도록 만드는 방법은 무엇입니까? (0) | 2020.10.14 |