Główne logo strony
JavaScript

Anuluj zapytanie fetch


Dzięki AbortController możemy anulować żądania fetch w JavaScript. Jest to szczególnie przydatne, gdy chcemy przerwać długotrwałe zapytania sieciowe, np. w odpowiedzi na akcje użytkownika.

const controller = new AbortController();
const signal = controller.signal;

fetch("https://api.example.com/data", { signal })
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    if (error.name === "AbortError") {
      //  wiemy, że request został przerwany w sposób kontrolowany przez nas
      console.log("Fetch aborted!");
    } else {
      //  Wystąpił nieoczekiwany błąd
      console.error("Fetch error:", error);
    }
  });

// Anulowanie zapytania po 5 sekundach
setTimeout(() => {
  controller.abort();
}, 5000);

Metodę controller.abort() równie dobrze możemy podpiąć pod przycisk na UI i dać możliwość anulowania zapytania użytkownikowi.

Losowy shortKolejny short: JavaScript