Conteúdo
O que é um Observable RxJs + Angular?
É uma técnica que lida com compartilhamento de dados, é muito usado no Angular e pode ser considerado uma versão melhor de uma promise.
A promise pode retornar apenas um valor e não pode ser cancelada o “observable” pode retornar um fluxo de valores e pode ser cancelado. Existem três callbacks:
- Complete();
- Next();
- Error().
Reatividade e RxJS
Estamos falando de programação assíncrona e emitir valores, erros e manipulação de dados a criação de todo um fluxo.
RxJS (Reactive Extensions Library for JavaScript) é uma biblioteca que facilita o uso de assíncrono.
Como criar um Observable com um construtor
O observable começa a emitir dados assim que um observer for inscrito nele. O observable vai usar o “next()” assim que o valor for passado para o argumento.
Se um erro ocorrer ele usa o “error()”, assim que for completo ele usa o “complete()”.
Agora que sabemos mais ou menos como funciona, vamos criar um exemplo simples dentro do próprio arquivo “app”.
O RxJS é um bundle dentro do Angular e já vem instalado, mas ainda assim temos que incluí-lo dentro do component para usar.
A maneira mais simples de criar um observable é usar o construtor Observable.
Como um argumento o construtor pode receber uma “function” e até mesmo uma “arrow function”. A sintaxe com arrow function ficaria assim:
Uma function padrão seria desta forma:
Em ambos os casos nós devemos usar o “observer” como objeto para podermos usar o método de callback.
Vamos criar um exemplo com arrow function.
O “meuObservable” foi declarado como um Observable, porém ele não foi instanciado e não pode emitir os valores, para isso precisamos fazer um “subscribe” nele. E para isso nós vamos usar o método “subscribe()”.
A Sintaxe:
Vamos fazer em nosso observable:
Agora se abrirmos o console, vamos ver os números de 1 a 5 em linhas separadas, podemos também usar o “error()” e o “complete()”.
Vamos ver que ele para antes de emitir o erro e o mesmo vale para o “complete()”.
Como criar um Observable como o método create()
Uma das maneiras mais fáceis de criar um Observable é usando o método “create()”.
Como criar um Observable com o operardor of
Precisamos importar o “of” do “rxjs” e podemos passar praticamente qualquer coisa para o operador “of” os argumentos serão emitidos separadamente e na ordem.
Uma maneira de mostrar duas strings.
Cada um dos argumentos é mostrado separadamente no console.
Como criar um Observable com o operador from
O operador “from” pode pegar qualquer coisa que possa ser iterada e converte em um observable e ao contrário do “of” ele aceita apenas um argumento.
Vamos pensar em uma string que é tecnicamente um array de letras.
Quando olhamos no console, vemos que cada letra foi mostrada em uma linha diferente.
Parabéns pelo artigo, explica de maneira fácil sobre observable