RxJS - últimas atualizações
Estamos usando o RxJS versão 6 neste tutorial. RxJS é comumente usado para lidar com programação reativa e mais frequentemente com Angular, ReactJS. Angular 6 carrega rxjs6 por padrão.
O RxJS versão 5 foi tratado de forma diferente em comparação com a versão 6. O código será interrompido caso você atualize seu RxJS 5 para 6. Neste capítulo, veremos a diferença nas maneiras de lidar com a atualização da versão.
Caso você esteja atualizando o RxJS para 6 e não queira fazer as alterações no código, você também pode fazer isso e terá que instalar o seguinte pacote.
npm install --save-dev rxjs-compact
Este pacote se encarregará de fornecer compatibilidade com versões anteriores e o código antigo funcionará bem com o RxJS versão 6. Se você deseja fazer as alterações de código que funcionam bem com o RxJS 6, aqui estão as alterações que precisam ser feitas.
Os pacotes para operadores, observáveis, assunto foram reestruturados e, portanto, as principais mudanças vão para as importações e são explicadas a seguir.
Importações para operadoras
De acordo com a versão 5, para os operadores, as seguintes declarações de importação devem ser incluídas -
import 'rxjs/add/operator/mapTo'
import 'rxjs/add/operator/take'
import 'rxjs/add/operator/tap'
import 'rxjs/add/operator/map'
Na versão 6 do RxJS as importações serão as seguintes -
import {mapTo, take, tap, map} from "rxjs/operators"
Importação de métodos para criar observáveis
De acordo com a versão 5, ao trabalhar com Observáveis, os seguintes métodos de importação devem ser incluídos -
import "rxjs/add/observable/from";
import "rxjs/add/observable/of";
import "rxjs/add/observable/fromEvent";
import "rxjs/add/observable/interval";
Na versão 6 do RxJS as importações serão as seguintes -
import {from, of, fromEvent, interval} from 'rxjs';
Importação de observáveis
No RxJS versão 5, ao trabalhar com observáveis, as seguintes instruções de importação devem ser incluídas -
import { Observable } from 'rxjs/Observable'
No RxJS versão 6, as importações serão as seguintes -
import { Observable } from 'rxjs'
Importação de Assunto
No RxJS versão 5, o assunto deve ser incluído da seguinte forma -
import { Subject} from 'rxjs/Subject'
No RxJS versão 6, as importações serão as seguintes -
import { Subject } from 'rxjs'
Como usar operadoras no RxJS 6?
pipe() methodestá disponível no observável criado. Ele é adicionado ao RxJS a partir da versão 5.5. Usando pipe () agora você pode trabalhar em vários operadores juntos em ordem sequencial. É assim que os operadores eram usados no RxJS versão 5.
Exemplo
import "rxjs/add/observable/from";
import 'rxjs/add/operator/max'
let list1 = [1, 6, 15, 10, 58, 2, 40];
from(list1).max((a,b)=>a-b).subscribe(x => console.log("The Max value is "+x));
Do RxJS versão 5.5 em diante, temos que usar o pipe () para executar o operador -
Exemplo
import { from } from 'rxjs';
import { max } from 'rxjs/operators';
from(list1).pipe(max((a,b)=>a-b)).subscribe(x => console.log(
"The Max value is "+x)
);
Operadores renomeados
Durante a reestruturação dos pacotes, alguns dos operadores foram renomeados porque estavam em conflito ou correspondiam a palavras-chave javascript. A lista é mostrada abaixo -
Operador | Renomeado para |
---|---|
Faz() | toque() |
pegar() | catchError () |
interruptor() | switchAll () |
finalmente() | finalizar() |
lançar() | throwError () |