Sobes.tech
Middle

Mis on observable?

sobes.tech AI

Vastus AI-lt

Observable on voog andmetest, mis võib asünkroonselt väärtusi välja saata. Erinevalt lubadustest, mis tagastavad ühe väärtuse, võib observable saata null, ühe või mitu väärtust aja jooksul.

Peamised omadused:

  • Hoolivad: Voog hakkab tööle ainult tellimisel.
  • Tühistavad: Võib tellimusest loobuda, et peatada selle täitmine ja vabastada ressursid.
  • Mitme väärtusega: Võib emit'ida mitu väärtust, samal ajal kui lubadused lahenduvad ainult üks kord.

Peamised komponendid:

  • Observable: Enda voog.
  • Observer: Objekt meetoditega next, error ja complete, mis kutsutakse välja jälgimisel.
  • Subscription: Telli observable, võimaldab tühistada.
  • Operators: Funktsioonid, mis muudavad või ühendavad observable (näiteks map, filter, merge).

Näide kasutamisest (RxJS):

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

const source = of(1, 2, 3); // Loome observable, mis väljastab 1, 2, 3

const example = source.pipe(map(x => x + 1)); // Rakendame map operaatorit

const subscription = example.subscribe({ // Telli observable
  next: value => console.log(`Next: ${value}`), // Iga väärtuse töötlemine
  error: err => console.error(`Error: ${err}`), // Vea töötlemine
  complete: () => console.log('Complete!') // Kui voog lõpeb
});

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

// subscription.unsubscribe(); // Võib tühistada