Angular · Middle · Запитання 19 з 75
Чому цей код надсилає два HTTP-запити і як це виправити?
user$ = this.http.get<User>("/api/me");
// template:
// {{ (user$ | async)?.name }} {{ (user$ | async)?.email }}- ✓Правильна відповідь: HTTP-Observable холодні - кожен
asyncпідписується окремо; поділіться черезshareReplay(1)або використайте одну підписку - 2Пайп
asyncу dev-режимі завжди надсилає запити двічі - 3
HttpClientавтоматично повторює кожен запит
Пояснення
Кожна підписка виконує запит. Використайте @if (user$ | async; as user) один раз, перетворіть на сигнал через toSignal або зробіть потік спільним через shareReplay({ bufferSize: 1, refCount: true }).