Angular · Senior · Frage 49 von 75
Warum gelten verschachtelte subscribe-Aufrufe als Anti-Pattern?
this.route.paramMap.subscribe((p) => {
this.api.load(p.get("id")!).subscribe((data) => (this.data = data));
});- 1Innere Abos werden nicht abgebrochen, was Races und Lecks verursacht
- 2Die innere Anfrage wird synchron und blockiert den Hauptthread
- 3RxJS verbietet Abos in Callbacks und wirft zur Laufzeit
Antwort zeigen
Richtige Antwort: Innere Abos werden nicht abgebrochen, was Races und Lecks verursacht
Erklärung
paramMap.pipe(switchMap((p) => this.api.load(p.get('id')!))) bricht veraltete Anfragen ab, wenn sich der Parameter ändert, und lässt ein einziges Abo zu verwalten (oder keines, mit async/toSignal).