Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

RxJS: Reaktive Programmierung in JavaScript

17. 10. 2016 2 Min. Lesezeit CORE SYSTEMSdevelopment
RxJS: Reaktive Programmierung in JavaScript

RxJS (Reactive Extensions for JavaScript) bringt Observables, Operatoren und ein reaktives Paradigma. Eine Schlüsselabhängigkeit von Angular 2 und ein mächtiges Werkzeug für asynchronen Code.

Warum reaktive Programmierung

Moderne Webanwendungen sind inhärent asynchron — Benutzerinteraktionen, HTTP-Requests, WebSocket-Nachrichten, Timer. Callback Hell und Promise-Ketten werden unwartbar.

Reaktive Programmierung modelliert asynchrone Daten als Streams — Sequenzen von Werten über die Zeit. RxJS bietet Werkzeuge zum Komponieren, Filtern und Transformieren dieser Streams.

Observables und Operatoren

Ein Observable ist eine Lazy-Push-Collection — es produziert Werte über die Zeit:

import { Observable } from 'rxjs';
import { map, filter, debounceTime, switchMap } from 'rxjs/operators';

// Typeahead search
const search$ = Observable.fromEvent(searchInput, 'input')
  .pipe(
    map(e => e.target.value),
    debounceTime(300),
    filter(term => term.length > 2),
    switchMap(term => fetch('/api/search?q=' + term)
      .then(res => res.json()))
  );

search$.subscribe(results => {
  renderResults(results);
});

debounceTime wartet 300ms nach der letzten Eingabe. switchMap bricht den vorherigen Request ab, wenn ein neuer kommt. Eine elegante Lösung für ein komplexes Problem.

RxJS in Angular 2

Angular 2 integriert RxJS tief:

  • HttpClient — gibt Observable statt Promise zurück
  • Router — Route-Parameter als Observable
  • Forms — valueChanges als Observable
  • EventEmitter — intern Observable

Das Angular-Team wählte RxJS wegen seiner Kompositionsfähigkeit — Kombination von HTTP-Requests, Benutzereingaben und Route-Änderungen in einer deklarativen Pipeline.

Wann RxJS außerhalb von Angular einsetzen

RxJS ist nicht nur für Angular — es ergibt überall Sinn, wo es komplexe asynchrone Logik gibt:

  • Echtzeit-Dashboards — Kombination von WebSocket-Streams
  • Autocomplete/Typeahead — Debouncing, Abbruch
  • Drag and Drop — Komposition von Maus-Events
  • Polling mit Retry — Intervall + HTTP + Fehlerbehandlung

Für einfache Fetch-Requests ist RxJS Overkill — Promise genügt. RxJS glänzt in komplexen asynchronen Szenarien.

Fazit: Ein mächtiges Werkzeug mit Lernkurve

RxJS ist das fortschrittlichste Werkzeug für asynchrone Programmierung in JavaScript. Die Lernkurve ist steil — über 200 Operatoren und ein neues mentales Modell. Aber für komplexe Echtzeit-Anwendungen ist der Return on Investment enorm. Beginnen Sie mit einfachen Szenarien und erweitern Sie schrittweise.

rxjsreaktivní programováníobservablesangularjavascriptasynchronní
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns