2014-10-28 2 views
0

나는 배열을 가지고 있으며 배열에 대한 루프를 수행합니다. eeach 항목에 대해 - 나는 나머지 호출을 수행하고 배열 restArr에 저장합니다.

angular.foreach(myItems , function(item){ 
    var q = $http.get("someHttpCall").succsee(function(){}).error(function(){}); 

    restArr.push(q); 
} 

는 통화 중 하나가 오류로 반환하는 경우 무슨 일이 생긴 것 $ Q 첫째

$q.all(restArr).then(function(){ 

    doSomething(); 

}); 

를 사용할 수 있습니까? 그리고 두 번째 - 오류가있는 리턴 호출을 다시 시작할 수있는 방법이 있습니까?

덕분 $q.all 내 약속 중 하나가 거부되면

답변

0

은 전체 약속은 거부됩니다. 거부 값은 거부 된 약속의 값과 동일합니다.

거절을 캐치하고 catch 처리기에서 재시도 논리를 처리하십시오.

$q.all(restArr) 
    .then(doSomething) 
    .catch(handleError);