0
AngularJS의 $q
"then"메소드는 새로운 약속 (https://docs.angularjs.org/api/ng/service/ $ q "Promise API"섹션)을 반환합니다.. anglesJS 약속 체인을 거부하십시오.
// method somewhere in MyService service
// ...
loadItem = function() {
return OtherService.load().then(function(item) {
item.preprocessed = true;
return item;
});
}
// end of loadItem method
// Somewhere along the controller:
MyService.loadItem().then(function(item) {
// do something with an item...
alert(item.preprocessed);
}, function(error) {
alert('Error!');
})
지금, 나는 약속 반환 값에 대한 몇 가지 처리를하고 싶은, 그러나 동시에 나는 거부 날에하지 않고 약속의 체인을 통해 푸시 할 :
같은 코드의 조각을 고려 모든 단계에서 약속을 수동으로 거부하십시오. 위의 예에서 항목이로드 된 경우 전처리 된 속성이 true로 설정되고 컨트롤러 then()
메서드의 올바른 처리기가 실행되지만 문제가 발생하여 OtherService.load()의 결과가 거부되면 컨트롤러 코드가 실행되지 않습니다.
이 문제를 극복 할 수있는 방법이 있습니까? 거부가 통과 할 수 있도록 허용하는 구문이 있습니까?