2014-10-28 55 views
0

我有一个数组,我为数组循环。为每个项目 - 我做休息调用并将其保存在数组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(); 

}); 

首先,发生了什么,如果有错误返回调用的一个? 第二个 - 有一种方法可以重新开始调用返回错误?

感谢

回答

0

如果$q.all内的承诺之一被拒绝,整体承诺将被拒绝。拒绝价值与被拒绝承诺的价值相同。

捕获拒绝,然后在catch处理程序中处理您的重试逻辑。

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