Vue · Middle · Frage 3 von 75

Wie bricht man eine veraltete Anfrage ab, wenn sich eine beobachtete id schnell ändert (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());
});
Antwort zeigen

Richtige Antwort: Aufräumen mit onWatcherCleanup registrieren

Erklärung

Ohne Aufräumen kann eine langsame alte Antwort neuere Daten überschreiben. Vor 3.5 tat man dasselbe mit dem Argument onCleanup des Callbacks.

Zum Weiterlesen

Fehler in der Frage

Vue · Middle · Frage 3

Teste dich selbst

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

Diesen Test machen