I'm starting on Angularjs and Javascript and I'm having trouble with requests to a REST API.
This is my function:
$scope.exportERP=function(){
// En primer lugar insertamos los artículos.
var artUrl = urlERP + "art_m" + apiKeyERP;
var artUrlFiltro = artUrl + "&filter%5Bref%5D=";
$scope.dataArt = $scope.art_m;
// Recorremos los artículos del carrito
for(i=0;i<$scope.carrito.length;i++){
// Comprobamos si el artículo contiene accesorios y los insertarmos o actualizamos en la BBDD.
if ($scope.carrito[i].accesoriosSeleccionados.length > 0){
//Recorremos uno a uno los accesorios
for (j =0;j<$scope.carrito[i].accesoriosSeleccionados.length;j++) {
$scope.dataArt.name = $scope.carrito[i].accesoriosSeleccionados[j].descripcion.toUpperCase();
$scope.dataArt.ref = $scope.carrito[i].accesoriosSeleccionados[j].codigo;
$scope.dataArt.pvp = Math.round($scope.carrito[i].accesoriosSeleccionados[j].puntos * $scope.datosDistribuidor.coeficiente);
$http.get(artUrlFiltro + $scope.dataArt.ref) //Petición con filtro por referencia del artículo. Nos permite saber si existe ya o no.
.success(function(accesorio){ // Exíste el accesorio.
if (accesorio.count == 0){ // No existe el artículo
$http.post(artUrl, $scope.dataArt)
.success(function(data){
console.log("Accesorio insertado con éxito");
console.log(data);
})
.error(function(err){ // Error la actualizacion del accesorio.
console.log(err);
});
}
});
}
}
}
}
But within the last FOR (contains two values) the two GET requests are executed in a row and when the POST is carried out, the last value is always sent. Why do they not run sequentially for each value within the for? I hope you understand me and many thanks in advance.