Vue · Middle · Запитання 3 з 75

Як скасувати застарілий запит, коли id, за яким спостерігають, швидко змінюється (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());
});

Пояснення

Без очищення повільна стара відповідь може перезаписати нові дані. До 3.5 те саме робили через аргумент onCleanup колбека.

Де почитати

Помилка в запитанні

Vue · Middle · запитання 3

Перевірте себе

Пройдіть тест Vue · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест