$http $timeout.
En AngularJS y es JavaScript no tiene hilos, asi que no se puede secuanciar en un hilo tareas. Las tareas se ejecutan parcialmente a turnos. Por eso al llamar a objetos de recursos externos puede haber resultdos raros como cambios en el orden.
$http.get(url\API1).
then(function successCallback(response) {
$scope.myvariable= 'hola';
console.log($scope.myvariable);
}, function errorCallback(response) {
}
$http.get(url\API2).
then(function successCallback(response) {
$scope.myvariable= 'adios';
console.log($scope.myvariable);
}, function errorCallback(response) {
}
$http.get(url\API1).
then(function successCallback(response) {
$scope.myvariable= 'hola';
console.log($scope.myvariable);
}, function errorCallback(response) {
}
$http.get(url\API2).
then(function successCallback(response) {
$scope.myvariable= 'adios';
console.log($scope.myvariable);
}, function errorCallback(response) {
}
Una manera de resolver esto o al menos cambiarlo es el uso de $timeout pr ejem
$timeout(function (){
$scope.myvariable= haceralgo();
},5000);
Aunque lo mas seguro es sincronizar las llamadas en el then.success asi
$http.get(url\API1).
then(function successCallback(response) {
$http.get(url\API2).then(function successCallback(response) {
}
}, function errorCallback(response) {
}
Cap comentari:
Publica un comentari a l'entrada