Middle
¿Qué es observable?
sobes.tech AI
Respuesta de la IA
Observable — es un flujo de datos que puede emitir valores de forma asíncrona. A diferencia de las promesas, que devuelven un solo valor, un observable puede emitir cero, uno o múltiples valores a lo largo del tiempo.
Características clave:
- Perezosos: El flujo comienza a trabajar solo cuando alguien se suscribe.
- Cancelables: Se puede cancelar la suscripción al flujo para detener su ejecución y liberar recursos.
- Múltiples valores: Pueden emitir varios valores, mientras que las promesas se resuelven solo una vez.
Componentes principales:
- Observable: El propio flujo de datos.
- Observer: Objeto con métodos
next,errorycomplete, que son llamados por el observable. - Subscription: Resultado de la suscripción a un observable, permite cancelar la suscripción.
- Operadores: Funciones que transforman o combinan observables (por ejemplo,
map,filter,merge).
Ejemplo de uso (RxJS):
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
const source = of(1, 2, 3); // Creamos un observable que emite 1, 2, 3
const example = source.pipe(map(x => x + 1)); // Aplicamos el operador map
const subscription = example.subscribe({ // Nos suscribimos al observable
next: value => console.log(`Next: ${value}`), // Procesa cada valor
error: err => console.error(`Error: ${err}`), // Procesa errores
complete: () => console.log('Complete!') // Se llama al terminar el flujo
});
// salida:
// Next: 2
// Next: 3
// Next: 4
// Complete!
// subscription.unsubscribe(); // Se puede cancelar la suscripción