RxJS

Az RxJS (Reactive Extensions for JavaScript) egy JavaScript könyvtár és programozási stílus, amely reaktív programozást kínál. A reaktív programozás paradigma azt jelenti, hogy az alkalmazás reagál az adatok folyamatos változására és eseményeire, és aszinkron módon kezeli ezeket az eseményeket.

Adatokat lehet juttatni egy Observable-be és egy Subject-be a RxJS használatával, amely egy olyan könyvtár, amely lehetővé teszi az aszinkron adatáramlás kezelését JavaScriptben. Az Observable egy olyan eseményfolyam, amely értesítéseket (emission) küld, amikor új adatok állnak rendelkezésre, míg a Subject egy speciális típusú Observable, amely adatokat is küldhet és feliratkozókat is kezelhet.

Adatok juttatása egy Observable-be:

Az Observable létrehozása és adatok küldése egy példa:

import { Observable } from 'rxjs';

// Observable létrehozása
const myObservable = new Observable(observer => {
  // Adatok küldése
  observer.next('Első érték');
  observer.next('Második érték');
  // ...

  // Observable befejezése
  observer.complete();
});

// Feliratkozás az Observable-re
myObservable.subscribe(data => {
  console.log(data);
});

Az Observable létrehozása során egy “observer” függvényt definiálunk, amely tartalmazza az adatokat és az eseményeket (pl. next) az értesítések küldéséhez. A subscribe függvénnyel iratkozunk fel az Observable-re, és megkapjuk az értesítéseket.

Adatok juttatása egy Subject-be:

A Subject lehetővé teszi az adatok aktív küldését a feliratkozók felé:

import { Subject } from 'rxjs';

// Subject létrehozása
const mySubject = new Subject();

// Feliratkozás a Subject-re
mySubject.subscribe(data => {
  console.log('Feliratkozó 1:', data);
});

mySubject.subscribe(data => {
  console.log('Feliratkozó 2:', data);
});

// Adatok küldése a Subject-en keresztül
mySubject.next('Első érték');
mySubject.next('Második érték');

A Subject a next függvény segítségével adatokat küld a feliratkozók felé. Itt látható, hogy több feliratkozó is lehet egy Subject-en, és mindegyikük megkapja az adatokat, amikor azok elküldésre kerülnek.

Fontos megjegyezni, hogy a Subject aktívan kezeli az értesítéseket, míg az Observable passzív módon értesítéseket küld. A Subject-et gyakran használják például eseménykezelőként vagy globális állapotmenedzserként egy alkalmazásban.

Was this page helpful?