Middle
Wat is een observable?
sobes.tech AI
Antwoord van AI
Observable — is een datastroom die waarden asynchroon kan uitzenden. In tegenstelling tot promises, die één waarde teruggeven, kan een observable nul, één of meerdere waarden uitzenden in de loop van de tijd.
Belangrijke kenmerken:
- Lui: De stroom begint alleen te werken bij inschrijving.
- Annuleerbaar: Je kunt je afmelden voor de stroom om de uitvoering te stoppen en bronnen vrij te maken.
- Meerdere waarden: Kan meerdere waarden uitzenden, terwijl promises slechts één keer oplossen.
Belangrijkste componenten:
- Observable: De datastroom zelf.
- Observer: Object met methoden
next,errorencomplete, die door de observable worden aangeroepen. - Subscription: Resultaat van inschrijving op een observable, maakt afmelden mogelijk.
- Operators: Functies die observables transformeren of combineren (bijvoorbeeld
map,filter,merge).
Voorbeeld gebruik (RxJS):
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
const source = of(1, 2, 3); // Creëer een observable die 1, 2, 3 uitzendt
const example = source.pipe(map(x => x + 1)); // Pas de map operator toe
const subscription = example.subscribe({ // Abonneer je op de observable
next: value => console.log(`Next: ${value}`), // Verwerk elke waarde
error: err => console.error(`Error: ${err}`), // Foutafhandeling
complete: () => console.log('Complete!') // Wordt aangeroepen bij voltooiing
});
// output:
// Next: 2
// Next: 3
// Next: 4
// Complete!
// subscription.unsubscribe(); // Kan afmelden