Skapa och invänta Futures
Skapa och använd Future-värden
Skapa och invänta Futures är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Dart Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Dart Academy innehåller totalt 4 lektioner.
Ett löfte om ett värde
En Future representerar ett värde som inte är klart ännu men kommer senare, ungefär som ett kvitto du löser in när beställningen är färdig.
Future av en typ
En future är alltid typad efter det den kommer att leverera. En Future<int> lovar ett int när det asynkrona arbetet är klart.
Future<int> fetchScore() async {
return 42;
}Markera en funktion som async
Lägg till nyckelordet async, så returnerar funktionen automatiskt en Future. Dess returvärde blir future-objektets värde när det är klart.
Future<String> greet() async {
return "hi";
}Vänta på ett resultat
Inuti en async-funktion pausar await tills future-objektet är klart och ger dig sedan det vanliga, uppackade värdet.
final score = await fetchScore();
print(score); // 42await blockerar inte
Medan en funktion väntar med await fortsätter event loop att köra annat arbete. await pausar bara den här funktionen, inte hela programmet.
Simulera en fördröjning
Använd Future.delayed för att vänta en bestämd tid innan ett värde skapas – perfekt för att efterlikna ett långsamt nätverksanrop.
await Future.delayed(Duration(seconds: 1));
print("one second later");En omedelbar Future
Future.value sveper in ett färdigt värde i en future. Det är användbart när ett API förväntar sig en Future men du redan har svaret.
Future<int> ready = Future.value(7);Kedja med then
Innan async/await använde du then för att köra en callback när future-objektet hade slutförts. Det är fortfarande praktiskt för korta kedjor.
fetchScore().then((s) => print(s));await är lättare att läsa
Jämfört med nästlade then-callbacks låter await asynkron kod läsas uppifrån och ned som vanliga synkrona steg.
Returnera från async
Det du returnerar från en async-funktion blir future-objektets värde. Returnera ingenting så får du en Future<void>.
await endast i async
Du kan bara använda await inuti en funktion som är markerad med async. Utanför en sådan funktion arbetar du i stället med Future via then.
Snabb kontroll
Snabb kontroll av hur await fungerar.
Repetition: Futures
Nu kan du skapa futures med async, leverera värden genom att returnera dem och packa upp dem med await. Asynkron kod blir lika lättläst som synkron kod. 🚀
Lär dig Dart 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
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Skapa och invänta Futures” gratis?
Ja – hela texten till ”Skapa och invänta Futures” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Dart Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Dart Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Skapa och invänta Futures”?
Skapa och använd Future-värden Ni övar på Dart Academy 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 Dart Academy?
Du behöver inga förkunskaper. Utbildningen i Dart Academy 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 2 av 4.
Hur lång tid tar lektionen ”Skapa och invänta Futures”?
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 Dart Academy-lektionen?
Ja. Varje Dart Academy-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
- Händelseloopen och microtasks
- Skapa och invänta Futures
- Felhantering i async-kod
- Future.wait och parallellt arbete