Sobes.tech
Middle

Mi az az observable?

sobes.tech MI

Válasz az MI-től

Observable — ez egy adatfolyam, amely aszinkron módon képes értékeket kibocsátani. A promisszoktól eltérően, amelyek egyetlen értéket adnak vissza, az observable nullát, egyet vagy több értéket is kibocsáthat az idő múlásával.

Fő jellemzők:

  • Lusta: Az adatfolyam csak akkor indul el, ha feliratkoznak rá.
  • Mégse lehet feliratkozni: Le lehet iratkozni az adatfolyamról, hogy megállítsuk a végrehajtását és felszabadítsuk az erőforrásokat.
  • Több érték: Több értéket is kibocsáthat, míg a promisszok csak egyszer oldódnak meg.

Fő komponensek:

  • Observable: Maga az adatfolyam.
  • Observer: Objektum a next, error és complete metódusokkal, amelyeket az observable hív meg.
  • Subscription: Az observable-hoz való feliratkozás eredménye, lehetővé teszi a leiratkozást.
  • Operátorok: Olyan függvények, amelyek átalakítják vagy összekapcsolják az observable-t (map, filter, merge).

Használati példa (RxJS):

import { of } from 'rxjs';
import { map } from 'rxjs/operators';

const source = of(1, 2, 3); // Létrehozunk egy observable-t, amely 1, 2, 3-at ad ki

const example = source.pipe(map(x => x + 1)); // Alkalmazzuk a map operátort

const subscription = example.subscribe({ // Feliratkozunk az observable-ra
  next: value => console.log(`Next: ${value}`), // Minden érték feldolgozása
  error: err => console.error(`Error: ${err}`), // Hibakezelés
  complete: () => console.log('Complete!') // A végén hívódik meg
});

// kimenet:
// Next: 2
// Next: 3
// Next: 4
// Complete!

// subscription.unsubscribe(); // Le lehet iratkozni