Middle
O que é um observable?
sobes.tech IA
Resposta da IA
Observable — é um fluxo de dados que pode emitir valores de forma assíncrona. Ao contrário das promessas, que retornam um único valor, um observable pode emitir zero, um ou múltiplos valores ao longo do tempo.
Características principais:
- Preguiçosos: O fluxo só começa a trabalhar quando alguém se inscreve.
- Canceláveis: Pode cancelar a inscrição no fluxo para parar sua execução e liberar recursos.
- Múltiplos valores: Pode emitir vários valores, enquanto as promessas resolvem apenas uma vez.
Componentes principais:
- Observable: O próprio fluxo de dados.
- Observer: Objeto com métodos
next,errorecomplete, que são chamados pelo observable. - Subscription: Resultado da inscrição em um observable, permite cancelar a inscrição.
- Operadores: Funções que transformam ou combinam observables (por exemplo,
map,filter,merge).
Exemplo de uso (RxJS):
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
const source = of(1, 2, 3); // Criamos um observable que emite 1, 2, 3
const example = source.pipe(map(x => x + 1)); // Aplicamos o operador map
const subscription = example.subscribe({ // Inscrevemos no observable
next: value => console.log(`Next: ${value}`), // Processa cada valor
error: err => console.error(`Error: ${err}`), // Processa erro
complete: () => console.log('Complete!') // Quando termina o fluxo
});
// output:
// Next: 2
// Next: 3
// Next: 4
// Complete!
// subscription.unsubscribe(); // Pode cancelar a inscrição