Sobes.tech
Middle

Was ist ein Observable?

sobes.tech KI

Antwort von AI

Observable — ist ein Datenstrom, der Werte asynchron ausgeben kann. Im Gegensatz zu Promises, die einen einzelnen Wert zurückgeben, kann ein Observable null, einen oder mehrere Werte im Laufe der Zeit ausgeben.

Wichtige Eigenschaften:

  • Lazy: Der Datenstrom beginnt erst bei Abonnement.
  • Abbestellbar: Man kann sich vom Strom abmelden, um seine Ausführung zu stoppen und Ressourcen freizugeben.
  • Mehrere Werte: Kann mehrere Werte ausgeben, während Promises nur einmal auflösen.

Hauptkomponenten:

  • Observable: Der Datenstrom selbst.
  • Observer: Objekt mit den Methoden next, error und complete, die vom Observable aufgerufen werden.
  • Subscription: Ergebnis des Abonnements an ein Observable, ermöglicht das Abbestellen.
  • Operatoren: Funktionen, die Observable transformieren oder kombinieren (z.B. map, filter, merge).

Beispiel (RxJS):

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

const source = of(1, 2, 3); // Erstellen eines Observable, das 1, 2, 3 ausgibt

const example = source.pipe(map(x => x + 1)); // Anwenden des Operators map

const subscription = example.subscribe({ // Abonnieren des Observable
  next: value => console.log(`Next: ${value}`), // Verarbeitung jedes Wertes
  error: err => console.error(`Error: ${err}`), // Fehlerbehandlung
  complete: () => console.log('Complete!') // Wird bei Abschluss aufgerufen
});

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

// subscription.unsubscribe(); // Abmeldung möglich