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éscompletemetó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