角度承诺 - 当其中一个呼叫出错时,$ q

时间:2014-10-28 18:59:14

标签: javascript angularjs http angular-promise

我有一个数组,我在数组上做循环。对于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();

});

首先,如果其中一个调用返回错误,会发生什么? 第二 - 有一种方法可以再次启动调用返回错误吗?

谢谢

1 个答案:

答案 0 :(得分:0)

如果$q.all中的某个承诺被拒绝,则拒绝整体承诺。拒绝价值与拒绝承诺的拒绝价值相同。

抓住拒绝,然后在catch处理程序中处理你的重试逻辑。

$q.all(restArr)
  .then(doSomething)
  .catch(handleError);
相关问题