Angular · Middle · Frage 19 von 75

Warum sendet dieser Code zwei HTTP-Anfragen, und wie behebt man das?

user$ = this.http.get<User>("/api/me");
// template:
// {{ (user$ | async)?.name }}  {{ (user$ | async)?.email }}
Antwort zeigen

Richtige Antwort: Das Observable ist kalt, jedes async abonniert selbst; shareReplay(1) nutzen

Erklärung

Jedes Abo führt die Anfrage aus. Nutze einmal @if (user$ | async; as user), wandle mit toSignal in ein Signal um oder teile den Stream mit shareReplay({ bufferSize: 1, refCount: true }).

Zum Weiterlesen

Fehler in der Frage

Angular · Middle · Frage 19

Teste dich selbst

Mach den Test Angular · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen