O que acontece com $ q.all () quando algumas chamadas funcionam e outras falham?
O que acontece com $ q.all () quando algumas chamadas funcionam e outras falham?
Eu tenho o seguinte código:
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;
});
Quando todas as chamadas $ http funcionam, a matriz allResponses é preenchida com dados.
Quando um falhar, entendo que a segunda função será chamada e a variável de erro será fornecida com detalhes.
No entanto, alguém pode me ajudar a explicar o que acontece se algumas das respostas funcionam e outras falham?