Carlos Enrique Ramírez Flores
Recursos
Resumen
Los Observables en RxJS cambian la forma de manejar datos asíncronos: permiten flujos continuos, cancelación y operadores avanzados. A diferencia de las promesas de http, que resuelven un único valor, los Observables notifican cada cambio y facilitan interfaces reactivas, como se ve en Platzi Square con actualizaciones automáticas desde Firebase.
¿Qué son los Observables en RxJS?
Los Observables son objetos a los que te suscribes para recibir notificaciones cuando ocurre algo: un cambio, datos nuevos o un error. Funcionan como un stream de eventos que puede emitir muchos valores en el tiempo, incluso de forma indefinida.
¿Cómo funcionan la suscripción y las notificaciones?
- Te suscribes a un Observable y recibes eventos nuevos cuando ocurren cambios.
- Puedes manejar tres canales: datos, error y finalización.
- El flujo puede ser finito o potencialmente infinito.
¿Por qué es útil cancelar un Observable?
- Porque el flujo puede seguir emitiendo indefinidamente.
- Para liberar recursos cuando ya no necesitas escuchar cambios.
- Para limpiar código al cerrar vistas o al salir de la aplicación.
- Porque la cancelación es manual y controlada por quien se suscribe.
¿Cómo se comparan Observables y promesas http?
Aunque ambos se usan en lógica asíncrona, no ofrecen lo mismo. Las promesas de http entregan un único resultado o error y terminan. Los Observables pueden emitir múltiples valores y notificar cada actualización.
¿Qué entrega http y qué entrega un Observable?
- http: retorna una promesa con un solo objeto o un error.
- Observables: retornan un stream con muchos objetos a lo largo del tiempo.
- http: avisa al resolver o al fallar y termina.
- Observables: avisan cada vez que hay algo nuevo y pueden continuar.
- http: no tiene cancelación nativa del flujo resuelto.
- Observables: permiten cancelar la suscripción cuando sea necesario.
¿Qué operadores existen?
- http: usa métodos limitados como then para éxito y catch para errores.
- Observables: disponen de muchos operadores; ya se usó uno: map.
- Los operadores permiten transformar, filtrar y combinar emisiones sin mutar la fuente.
¿Cómo se aplican en Platzi Square con Firebase?
Al crear un nuevo lugar, la lista se actualiza automáticamente en otra vista o incluso en otra computadora. Esto ocurre porque hay una vigilancia tipo watch sobre la lista: cuando cambia en Firebase, el Observable notifica y la interfaz se actualiza sin acciones extra.
¿Qué evidencia muestra la actualización en tiempo real?
- Se ingresa un nuevo lugar: “Zapatería El Clavo”.
- Se envían datos: distancia, cercanía, url de Facebook, plan, dirección y ciudad.
- Tras enviar, aparece de inmediato en la lista, junto a elementos previos como Consulado Paisa y Arepas Ricas.
- Este comportamiento confirma que ya se están usando Observables para escuchar cambios y reflejarlos en pantalla.
¿Qué viene después con type ahead?
- Se implementará conscientemente el uso de Observables para un type ahead, aprovechando emisiones múltiples y operadores.
¿Tienes preguntas o ejemplos propios con Observables y http? Comparte tu experiencia y dudas para profundizar juntos.
