Was passiert mit $ q.all (), wenn einige Aufrufe funktionieren und andere fehlschlagen?
Was passiert mit $ q.all (), wenn einige Aufrufe funktionieren und andere fehlschlagen?
Ich habe folgenden 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;
});
Wenn alle $ http-Aufrufe funktionieren, wird das Array allResponses mit Daten gefüllt.
Wenn einer der Fehler auftritt, wird meines Erachtens die zweite Funktion aufgerufen und die Fehlervariable mit Details versehen.
Kann mir jemand erklären, was passiert, wenn einige der Antworten funktionieren und andere fehlschlagen?