$q en Angular moderno
$q ya no hace falta. Usa promesas nativas con async/await, u operadores RxJS cuando combinas llamadas HTTP.
Antes · AngularJS
$q.all([UserService.get(id), OrderService.list(id)])
.then(function (results) {
vm.user = results[0];
vm.orders = results[1];
});Después · AngularforkJoin({
user: this.userApi.get(id),
orders: this.orderApi.list(id),
}).subscribe(({ user, orders }) => {
this.user.set(user);
this.orders.set(orders);
});Qué cambia
- $q.all pasa a ser forkJoin (observables) o Promise.all (promesas).
- $q.defer casi nunca hace falta; devuelve el observable o la promesa que ya tienes.
- firstValueFrom convierte un observable en promesa cuando async/await se lee mejor.
Consejo de migración. Las promesas nativas no disparan un digest en el lado AngularJS de una app híbrida. Mantén $q en el código legacy hasta migrar esa pantalla.
Relacionado
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn