DEV Community

Cover image for Conceitos Básicos de RxJS
Levy Henrique Alves Nunes
Levy Henrique Alves Nunes

Posted on

Conceitos Básicos de RxJS

Ao explorar o universo JavaScript moderno, é provável que você encontre referências ao RxJS. Esta biblioteca tem ganhado destaque no ecossistema front-end, especialmente com o crescimento do Angular. Então, quais são os conceitos básicos do RxJS? Vamos mergulhar juntos!

1. O que é RxJS?

RxJS (Reactive Extensions for JavaScript) é uma biblioteca para programação reativa usando observáveis. Ela fornece uma maneira poderosa de manipular sequências de eventos ou valores ao longo do tempo.

2. Principais Conceitos

a) Observáveis

São sequências de valores ou eventos que podem ser emitidos ao longo do tempo. Eles podem emitir múltiplos valores, ao contrário das Promises que resolvem apenas uma vez.

const observable = new Rx.Observable(observer => {
  observer.next('Hello');
  observer.next('World');
});
Enter fullscreen mode Exit fullscreen mode

b) Observadores

São objetos que definem callbacks para notificações entregues pelos observáveis.

const observer = {
  next: value => console.log(value),
  error: err => console.error(err),
  complete: () => console.log('Completed!')
};
Enter fullscreen mode Exit fullscreen mode

c) Subscrição

Para começar a receber os valores emitidos por um observável, um observador precisa se inscrever nele.

const subscription = observable.subscribe(observer);
Enter fullscreen mode Exit fullscreen mode

d) Operadores

São funções puras que permitem uma ampla gama de operações, como mapeamento, filtragem e redução. Os operadores podem ser encadeados para criar novos observáveis.

import { from } from 'rxjs';
import { filter } from 'rxjs/operators';

const numbers = from([1, 2, 3, 4, 5]);
const evenNumbers = numbers.pipe(filter(n => n % 2 === 0));
evenNumbers.subscribe(value => console.log(value));
Enter fullscreen mode Exit fullscreen mode

e) Subjects

São observáveis especiais que também podem agir como observadores. Isso significa que você pode chamar next() neles para emitir novos valores.

import { Subject } from 'rxjs';

const subject = new Subject();

subject.subscribe(value => console.log(`Observer A: ${value}`));
subject.subscribe(value => console.log(`Observer B: ${value}`));

subject.next(1);
subject.next(2);
Enter fullscreen mode Exit fullscreen mode

3. Por que usar RxJS?

  • Manipulação Assíncrona: Simplifica operações complexas e assíncronas.
  • Flexibilidade: Fornece uma ampla gama de operadores.
  • Elegância: Torna o código mais legível e compreensível.
  • Gerenciamento: Facilita o cancelamento de operações e a gestão de recursos.

4. Conclusão

RxJS é uma biblioteca robusta que traz conceitos da programação reativa para o JavaScript. Seja para lidar com eventos do usuário, chamadas de API ou qualquer outra sequência de valores, o RxJS oferece ferramentas que podem tornar seu código mais limpo, eficiente e poderoso.


Espero que este post forneça uma base sólida para você começar a explorar o mundo do RxJS!

Top comments (0)