Vue · Middle · Pytanie 3 z 75

Jak anulować nieaktualne żądanie, gdy obserwowane id szybko się zmienia (Vue 3.5+)?

watch(id, async (newId) => {
  const controller = new AbortController();
  onWatcherCleanup(() => controller.abort());
  data.value = await fetch(`/api/items/${newId}`, { signal: controller.signal }).then((r) => r.json());
});

Wyjaśnienie

Bez sprzątania wolna stara odpowiedź może nadpisać nowsze dane. Przed 3.5 robiło się to samo przez argument onCleanup callbacku.

Do poczytania

Błąd w pytaniu

Vue · Middle · pytanie 3

Sprawdź się

Rozwiąż test Vue · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test