Что происходит с $ q.all (), когда некоторые вызовы работают, а другие - нет?

Что происходит с $ q.all (), когда некоторые вызовы работают, а другие - нет?

У меня есть следующий код:

    var entityIdColumn = $scope.entityType.toLowerCase() + 'Id';
    var requests = $scope.grid.data
      .filter(function (rowData, i) {
          return !angular.equals(rowData, $scope.grid.backup[i]);
      })
      .map(function (rowData, i) {
          var entityId = rowData[entityIdColumn];
          return $http.put('/api/' + $scope.entityType + '/' + entityId, rowData);
      });
    $q.all(requests).then(function (allResponses) {
        //if all the requests succeeded, this will be called, and $q.all will get an
        //array of all their responses.
        console.log(allResponses[0].data);
    }, function (error) {
        //This will be called if $q.all finds any of the requests erroring.
        var abc = error;
        var def = 99;
    });

Когда все вызовы $ http работают, массив allResponses заполняется данными.

Когда один из них терпит неудачу, я понимаю, что будет вызвана вторая функция и переменная ошибки предоставит детали.

Однако может ли кто-нибудь помочь мне объяснить, что произойдет, если некоторые ответы сработают, а другие не сработают?

Ответы на вопрос(7)

Ваш ответ на вопрос