Dart Academy · leksjon

Opprett og avvent Futures

Produser og bruk Future-verdier.

Leksjon 2 av 413 trinn

Opprett og avvent Futures er en gratis leksjon i Dart Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Dart Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Dart Academy inneholder totalt 4 leksjoner.

Et løfte om en verdi

En Future representerer en verdi som ikke er klar ennå, men som kommer senere – som en kvittering du løser inn når bestillingen er ferdig.

Future av en type

En Future er alltid typet etter det den skal levere. En Future<int> lover en int når det asynkrone arbeidet er fullført.

Future<int> fetchScore() async {
  return 42;
}

Merke en funksjon som async

Legg til nøkkelordet async, så returnerer funksjonen automatisk en Future. Returverdien blir verdien Future-en fullføres med.

Future<String> greet() async {
  return "hi";
}

Avvente et resultat

Inne i en async-funksjon setter await kjøringen på pause til Future-en er fullført, og gir deg deretter den vanlige, utpakkede verdien.

final score = await fetchScore();
print(score); // 42

await blokkerer ikke

Mens én funksjon venter med await, fortsetter event loop å kjøre annet arbeid. await suspenderer bare denne funksjonen, ikke hele programmet.

Simulere en forsinkelse

Bruk Future.delayed til å vente en bestemt tidsperiode før en verdi produseres. Det er perfekt for å etterligne et tregt nettverkskall.

await Future.delayed(Duration(seconds: 1));
print("one second later");

En umiddelbar Future

Future.value pakker en ferdig verdi inn i en Future. Det er nyttig når et API forventer en Future, men du allerede har svaret.

Future<int> ready = Future.value(7);

Kjede med then

Før async/await brukte du then til å kjøre en callback når Future-en var fullført. Det er fortsatt praktisk for korte kjeder.

fetchScore().then((s) => print(s));

await er mer lesbart

Sammenlignet med nestede then-callbacker lar await deg lese asynkron kode ovenfra og ned, som vanlige synkrone trinn.

Returnere fra async

Alt du returnerer fra en async-funksjon, blir Future-ens verdi. Returner ingenting, så får du en Future<void>.

await bare i async

Du kan bare bruke await inne i en funksjon som er merket async. Utenfor en slik funksjon håndterer du Future-en med then i stedet.

Rask sjekk

Rask sjekk av hvordan await fungerer.

Oppsummering: Futures

Nå kan du opprette futures med async, levere verdier ved å returnere dem og pakke dem ut med await. Asynkron kode blir like lesbar som synkron kode. 🚀

Gratis å komme i gang

Lær deg Dart med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Opprett og avvent Futures» gratis?

Ja – hele teksten i «Opprett og avvent Futures» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Dart Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Dart Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Opprett og avvent Futures»?

Produser og bruk Future-verdier. Du øver på Dart Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Dart Academy?

Ingen tidligere erfaring er nødvendig. Dart Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Opprett og avvent Futures»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Dart Academy-leksjonen?

Ja. Alle Dart Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hendelsesløkken og microtasks
  2. Opprett og avvent Futures
  3. Feilhåndtering i async-kode
  4. Future.wait og parallelt arbeid
← Tilbake til Dart Academy