Typsäkra API:er från frontend till backend med tRPC · Lektion

Effektiv batchning av anrop

Förstå hur tRPC automatiskt batchar anrop och hur ni kan utnyttja detta för bättre prestanda.

Lektion 1 av 411 steg

Effektiv batchning av anrop är en gratis lektion i Typsäkra API:er från frontend till backend med tRPC på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Typsäkra API:er från frontend till backend med tRPC, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Typsäkra API:er från frontend till backend med tRPC innehåller totalt 4 lektioner.

Vad är begärandebatchning?

Föreställ dig att din app behöver hämta flera delar av data från din backend. Utan batching skulle varje del av datan kräva en separat nätverksbegäran.

Batchning av begäranden är en teknik där flera individuella begäranden kombineras till en enda större begäran innan den skickas till servern. Detta kan förbättra prestandan avsevärt.

Problemet: för många begäranden

Att skicka många små begäranden kan vara ineffektivt. Varje begäran medför overhead:

  • Nätverkslatens: Tidsfördröjning för varje tur- och returresa.
  • TCP-handskakningar: En anslutning måste upprättas för varje begäran.
  • Serverbelastning: Många små begäranden bearbetas individuellt.

Detta summeras och får appen att kännas långsammare.

tRPC:s automatiska batchningsmagi

En av tRPC:s mest imponerande funktioner är automatisk batchning av begäranden. När klientkoden gör flera tRPC-anrop efter varandra inom kort tid samlar tRPC på ett intelligent sätt ihop dem till en enda HTTP-begäran.

Ni behöver inte skriva någon särskild kod för detta – det fungerar direkt utan extra konfiguration!

När batchar tRPC?

tRPC batchar begäranden som sker inom samma "event loop-tick" eller under ett mycket kort tidsintervall. Det innebär att om ni anropar två olika tRPC-frågor direkt efter varandra kommer de sannolikt att batchas.

Om ni till exempel har två useQuery-anrop i en React-komponent som renderas samtidigt kommer tRPC att batcha dem.

Exempel på batchning på klientsidan

Vi ska titta på hur flera klientanrop blir till en enda nätverksbegäran. Föreställ er att er React-komponent behöver två olika uppgifter om användare:

// Client-side React/Next.js example
import { trpc } from './utils/trpc';

function UserProfile() {
  const { data: user1 } = trpc.user.getById.useQuery({ id: '1' });
  const { data: user2 } = trpc.user.getById.useQuery({ id: '2' });

  // ... render user data
}

Trots att ni anropar useQuery två gånger skickar tRPC dem som en enda batchad begäran till er server.

Vyn på fliken Network

Om ni öppnar webbläsarens utvecklarverktyg och går till fliken "Network" ser ni något intressant:

  • I stället för två separata begäranden för user.getById?id=1 och user.getById?id=2 ser ni bara en begäran.
  • Den här enda begäran går vanligtvis till en särskild batchnings-endpoint, som ofta har ett namn i stil med /api/trpc/user.getById,user.getById.
  • Svaret innehåller resultatet för båda frågorna.

Viktiga fördelar med batchning

Automatisk batchning av begäranden ger flera fördelar:

  • Minskad latens: Färre tur- och returresor innebär snabbare datahämtning.
  • Mindre overhead: Mindre arbete med att upprätta och avsluta anslutningar.
  • Effektivare serveranvändning: Servrar kan bearbeta flera relaterade uppgifter mer effektivt.
  • Enklare kod: Ni behöver inte hantera batchning manuellt – tRPC sköter det.

Vad händer på servern?

När tRPC tar emot en batchad begäran:

  1. Tolkar den inkommande HTTP-begäran.
  2. Identifierar alla individuella procedurer som ingår i batchen.
  3. Kör varje procedur, ofta parallellt om de är oberoende av varandra.
  4. Kombinerar resultaten från alla procedurer till ett enda svar.

Detta gör att servern också drar nytta av den optimerade begäran.

Avancerat: anpassa batchning

Även om tRPC:s automatiska batchning är utmärkt kan det i sällsynta fall finnas skäl att inaktivera eller konfigurera den. Det kan till exempel vara om ni har frågor som tar mycket lång tid att köra och som ni föredrar att köra separat.

Ni kan konfigurera batchningsalternativen när ni konfigurerar er tRPC-klient, men för de flesta applikationer är standardbeteendet optimalt.

Förstå batchning

Vilka av följande påståenden om tRPC:s automatiska batchning av begäranden är sanna?

Sammanfattning: effektivare begäranden

Bra jobbat! I den här lektionen har vi gått igenom tRPC:s automatiska batchning av begäranden.

  • Vi lärde oss hur tRPC kombinerar flera klientfrågor till en enda nätverksbegäran.
  • Detta minskar nätverksoverhead och latens samt förbättrar applikationens övergripande prestanda.
  • Batchning sker automatiskt för begäranden som görs inom samma event loop-tick.

Den här kraftfulla funktionen förenklar koden och gör applikationerna snabbare utan extra arbete!

Gratis att börja

Lär dig Typsäkra API:er från frontend till backend med tRPC med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
10
Lektioner
40

Vanliga frågor

Är lektionen ”Effektiv batchning av anrop” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Typsäkra API:er från frontend till backend med tRPC, inklusive ”Effektiv batchning av anrop”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Typsäkra API:er från frontend till backend med tRPC innehåller totalt 4 lektioner.

Vad lär jag mig i ”Effektiv batchning av anrop”?

Förstå hur tRPC automatiskt batchar anrop och hur ni kan utnyttja detta för bättre prestanda. Ni övar på Typsäkra API:er från frontend till backend med tRPC med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Typsäkra API:er från frontend till backend med tRPC?

Du behöver inga förkunskaper. Utbildningen i Typsäkra API:er från frontend till backend med tRPC på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Effektiv batchning av anrop”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Typsäkra API:er från frontend till backend med tRPC-lektionen?

Ja. Varje Typsäkra API:er från frontend till backend med tRPC-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Effektiv batchning av anrop
  2. Implementera optimistiska uppdateringar
  3. Filuppladdningar med tRPC
  4. Oändliga frågor och cursorbaserad paginering
← Tillbaka till Typsäkra API:er från frontend till backend med tRPC