Middle
Ce este un observable?
sobes.tech AI
Răspuns de la AI
Observable — este un flux de date care poate emite valori asincron. Spre deosebire de promisiuni, care returnează o singură valoare, observable poate emite zero, una sau mai multe valori în timp.
Caracteristici cheie:
- Leneș: Fluxul începe să funcționeze doar la abonare.
- Anulabil: Se poate dezabona de la flux pentru a opri execuția și a elibera resurse.
- Multiple valori: Poate emite mai multe valori, în timp ce promisiunile se rezolvă doar o dată.
Componente principale:
- Observable: Fluxul de date în sine.
- Observer: Obiect cu metodele
next,errorșicomplete, care sunt apelate de observable. - Subscription: Rezultatul abonamentului la un observable, permite dezabonarea.
- Operatori: Funcții care transformă sau combină observable (de exemplu,
map,filter,merge).
Exemplu de utilizare (RxJS):
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
const source = of(1, 2, 3); // Creăm un observable care emite 1, 2, 3
const example = source.pipe(map(x => x + 1)); // Aplicăm operatorul map
const subscription = example.subscribe({ // Ne abonăm la observable
next: value => console.log(`Next: ${value}`), // Procesarea fiecărui valoare
error: err => console.error(`Error: ${err}`), // Tratarea erorilor
complete: () => console.log('Complete!') // Se apelează la finalul fluxului
});
// output:
// Next: 2
// Next: 3
// Next: 4
// Complete!
// subscription.unsubscribe(); // Se poate dezabona