Usa q all en AngularJs
Presentaremos promesas en AngularJs y qué es $q.all
en AngularJs.
¿Qué son las promesas en AngularJs?
Si hacemos una solicitud HTTP para una serie de funciones asíncronas, puede haber una falla en la red y necesitamos usar callback
y errorCallback
. Si tenemos una función larga o múltiples funciones, es posible que necesitemos usar múltiples callback
y errorCallback
para desordenar nuestro código.
Las promesas nos ayudan a ejecutar funciones asincrónicas en serie sin estropear nuestro código. Las promesas son proporcionadas por el servicio integrado $q
.
¿Qué es $q.all
y cómo usarlo en AngularJs?
Como sugiere el nombre de $q.all
, combina varias promesas en una sola promesa resuelta cuando se resuelven todas.
Veamos un ejemplo para entender cómo podemos usar $q.all
. Vamos a crear dos variables pR45
y pR55
.
# angularjs
angular.module("app",[])
.run(function($q) {
var pR45 = $q.when(45);
var pR55 = $q.when(55);
});
});
Ahora usemos $q.all
para registrar los valores de las variables en la consola.
# angularjs
angular.module("app",[])
.run(function($q) {
var pR45 = $q.when(45);
var pR55 = $q.when(55);
$q.all([pR45,pR55]).then(function([r45,r55]) {
console.log(r45);
console.log(r55);
});
});
En el código anterior, $q.all
tomará todas las variables que le pasaremos, y una vez que todas estén resueltas, almacenará los resultados de estas variables en las nuevas variables r45
y r55
, y luego podemos usar estos resultados en nuestra función como se muestra en el código anterior.
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app"></body>
Ejecute el código HTML anterior y el script AngularJS y obtendrá el siguiente resultado.
Podemos usar la función $q.all
para ejecutar funciones asíncronas en estos sencillos pasos.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn