title: What happens with $q.all() when some calls work and others fail?
body: <p>What happens with $q.all() when some calls work and others fail?</p>
  
  <p>I have the following code:</p>
  
  <pre><code>    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;
      });
  </code></pre>
  
  <p>When all of the $http calls work then the allResponses array is filled with data. </p>
  
  <p>When one fails the it's my understanding that the second function will be called and the error variable given details. </p>
  
  <p>However can someone help explain to me what happens if some of the responses work and others fail?</p>