• Saltar a la navegación principal
  • Saltar al contenido principal

CARLOSZR.COM

Mi blog personal, CarlosZR

  • Blog
  • Contacto
  • Curso de SwiftUI por CarlosZR

Curso Spring Boot y Angular / 31/05/2020

Peticiones asíncronas en Angular con Observable

Vamos a ver cómo transformar nuestras peticiones en asíncronas para trabajar en un contexto de implementación real.

Observable Angular
Observable Angular

No es lo mismo probar nuestras aplicaciones de forma individual en nuestro PC mientras desarrollamos que el uso real que van a tener una vez desplegadas en un contexto web, donde pueden tener multitud de peticiones de multitud de clentes diferentes. Nuestra aplicación cliente se bloquearía mientras espera la respuesta del servidor.

Para que nuestra aplicación vaya bien, necesitamos implementar las peticiones asíncronas. Esto lo haremos mediante el uso del API Observable. La idea es que se puedan realizar varias peticiones en el servidor al mismo tiempo, que no estén sincronizadas entre sí y se manejen de forma paralela y en tiempo real. Entonces estamos hablando del concepto reactivo, que funcione en tiempo real, con flujo de datos Stream de Entrada y Salida.

En el siguiente ejemplo tenemos un array de objetos Anuncio en un archivo json.

Array de objetos en json
Array de objetos en json
Clase de servicio en Angular
Servicio en Angular

Hasta aquí todo es síncrono. Veamos como vamos a cambiar este panorama. En anuncio.service.ts realizamos el import de Observable (ojo que cambia según la versión de Angular). En Angular 9 es así (en realidad es así desde Angular 6):

import { Observable } from 'rxjs';

Lo que devuelve getAnuncios debe ser un stream, por lo tanto un Observable de Anuncio. Además, también debemos realizar el import del operador of.

Clase servicio anuncio.service.ts
anuncio.service.ts

Hemos creado un FLUJO (Stream) a partir de los objetos Anuncio. La idea es poder manejar grandes flujos de datos.

¿Qué es Observable?

Realmente no quiero continuar sin que entiendas bien el concerpto de Observable. Se basa en el patrón de diseño Observador. Tenemos un sujeto Observable, en este caso nuetro array de anuncios, y por otro lado tenemos observadores, que están escuchando que haya un cambio en el sujeto. Cuando el sujeto cambia de estado es notificado a los observadores. es decir, cuando tenemos un cambio en el servidor, se notifica automáticamente a los clientes, sin tener que recargar la página. ¡Mola, eh!

Cambios en anuncios.component.ts

Veamos los cambio a realizar en nuestro componente. Veamos cómo era el archivo antes:

componente de angular anuncios.component.ts
anuncios.component.ts

Así queda ahora el componente:

Suscribirse a un servicio en un componente Angular
anuncios.component.ts

Bueno sí, lo sé. Estamos trabajando con un json, los datos son falsos. No estamos trabajando aún con un API REST. Eso lo veremos en los próximos artículos. Estate atento para saber más.

Publicado en: Curso Spring Boot y Angular Etiquetado como: angular, api observable

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Carlos ZR

  • Sígueme en Twitter
  • Política de Cookies
  • Política de Privacidad
  • Aviso Legal

Utilizamos cookies para ofrecerte la mejor experiencia en nuestra web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los ajustes.

CARLOSZR.COM
Powered by  GDPR Cookie Compliance
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.