Skip to content
Brenon Araujo edited this page Aug 30, 2019 · 1 revision

O que podemos fazer com RxJS

Rxjs é uma biblioteca JavaScript que traz o conceito de programação reativa para a Web. Podemos ver todo seu poder nesse site Learn Rxjs, mas vamos focar nos mais uteis e indispensáveis no dia a dia.

of

Com o of criamos uma variável que pode ser observada e utilizável no eco sistema do RxJs.

Exemplo

from

Com o from conseguimos converter para observable funções, promises, arrays etc.

Exemplo

Exemplo Promise

forkJoin

Este operador é melhor usado quando você tem um grupo de observáveis e só se preocupa com o valor emitido final de cada um. Um caso de uso comum para isso é se você deseja emitir várias solicitações no carregamento da página (ou algum outro evento) e só deseja executar uma ação quando uma resposta for recebida para todos. Desta forma, é semelhante a como você pode usar o Promise.all.

Exemplo

map

Faz um laço de repetição no resultado.

Exemplo

Exemplo 2

switchMap

A principal diferença entre o switchMap e outros operadores de nivelamento é o efeito de cancelamento. Em cada emissão, o anterior interno observável (o resultado da função que você forneceu) é cancelado e o novo observável é registrado. Você pode se lembrar disso pela mudança de frase para um novo observável. Isso funciona perfeitamente para cenários como tipeaheads, em que você não está mais preocupado com a resposta da solicitação anterior quando uma nova entrada chega. Essa também é uma opção segura em situações em que um observável interno de longa duração poderia causar vazamentos de memória, por exemplo, se você usou o mergeMap com um intervalo e esqueceu de descartar apropriadamente assinaturas internas. Lembre-se, switchMap mantém apenas uma assinatura interna de cada vez, isso pode ser visto claramente no exemplo.

Exemplo

Observable vs Promise

Um Observable é como uma corrente e permite passar zero ou mais eventos nos quais o callback é chamado para cada evento. Observável é preferível ao invés da Promise porque fornece os recursos de Promise e muito mais. Com Observable, não importa se você deseja manipular 0, 1 ou vários eventos.

Avançando nos estudos

Clone this wiki locally