TypeScript Academy · Lekcja

Typy Fetch API; generyki Response.json()

Używanie Fetch API z właściwymi typami oraz generyków Response.json () do bezpiecznego analizowania danych JSON

Lekcja 1 z 28 kroki

Typy Fetch API; generyki Response.json() to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 1 z 2. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 2 lekcji w sumie.

Wprowadzenie

Cel: Wywoływać API za pomocą fetch, bezpiecznie obsługiwać odpowiedzi i używać generyków z Response.json().

Podstawy fetch

fetch zwraca wartość typu Promise<Response>. Użyj res.text() w przypadku treści zawierającej zwykły tekst.

async function getText() {
  const res = await fetch("/hello.txt");
  const text = await res.text();
  console.log(text);
}

Domyślne res.json()

res.json() analizuje treść, ale jego typ zwracany to domyślnie any. Brak bezpieczeństwa na etapie kompilacji.

async function getData() {
  const res = await fetch("/data.json");
  const data = await res.json();
  console.log(data);
}

res.json<T>()

Wywołaj res.json<T>() z interfejsem. TS sprawdza, czy używają Państwo wyłącznie prawidłowych pól obiektu User.

interface User { id: number; name: string }

async function getUser() {
  const res = await fetch("/user.json");
  const user = await res.json<User>();
  console.log(user.id, user.name);
}

Bezpieczeństwo typów

TypeScript uniemożliwia dostęp do brakujących pól, gdy używają Państwo generyków z json<T>.

interface Product { id: number; price: number }

async function getProduct() {
  const res = await fetch("/product.json");
  const p = await res.json<Product>();
  // console.log(p.unknown); // Error: unknown does not exist
}

Typowanie tablic

Generyki działają również z tablicami, na przykład Todo[]. TS zapewnia, że każdy element ma prawidłową strukturę.

interface Todo { id: number; done: boolean }

async function getTodos() {
  const res = await fetch("/todos.json");
  const todos = await res.json<Todo[]>();
  todos.forEach(t => console.log(t.id, t.done));
}

Sprawdzenie json<T>()

Szybkie sprawdzenie: Jaka jest korzyść z użycia response.json<T>() z argumentem typu?

Podsumowanie

Podsumowanie: fetch zwraca Response. Domyślne json() ma typ any. Dodaj generyk json<T>, aby zapewnić bezpieczeństwo typów.

Bezpłatny start

Ucz się TypeScript dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
101
Lekcje
352

Często zadawane pytania

Czy lekcja „Typy Fetch API; generyki Response.json()” jest bezpłatna?

Tak — pełny tekst „Typy Fetch API; generyki Response.json()” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 2 lekcji w sumie.

Co nauczysz się w „Typy Fetch API; generyki Response.json()”?

Używanie Fetch API z właściwymi typami oraz generyków Response.json () do bezpiecznego analizowania danych JSON Ćwiczysz TypeScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć TypeScript Academy?

Nie wymagamy żadnego doświadczenia. TypeScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 2.

Ile czasu zajmuje lekcja „Typy Fetch API; generyki Response.json()”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji TypeScript Academy?

Tak. Każda lekcja TypeScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Typy Fetch API; generyki Response.json()
  2. Walidacja w czasie działania za pomocą zod — wprowadzenie
← Powrót do TypeScript Academy