Angular · Middle · Pytanie 19 z 75
Dlaczego ten kod wysyła dwa żądania HTTP i jak to naprawić?
user$ = this.http.get<User>("/api/me");
// template:
// {{ (user$ | async)?.name }} {{ (user$ | async)?.email }}- ✓Poprawna odpowiedź: Observable HTTP są zimne - każdy
asyncsubskrybuje osobno; współdziel przezshareReplay(1)lub użyj jednej subskrypcji - 2Pipe
asyncw trybie deweloperskim zawsze wysyła żądania dwa razy - 3
HttpClientautomatycznie ponawia każde żądanie
Wyjaśnienie
Każda subskrypcja wykonuje żądanie. Użyj raz @if (user$ | async; as user), zamień na sygnał przez toSignal albo współdziel strumień przez shareReplay({ bufferSize: 1, refCount: true }).