Creare e attendere i Future
Produrre e consumare valori Future.
Creare e attendere i Future è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Dart Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Dart Academy include 4 lezioni in totale.
La promessa di un valore
Un Future rappresenta un valore che non è ancora pronto, ma arriverà in seguito, come una ricevuta da riscattare quando l'ordine sarà pronto.
Future di un tipo
Un future è sempre tipizzato in base a ciò che fornirà. Un Future<int> promette un int una volta completato il lavoro asincrono.
Future<int> fetchScore() async {
return 42;
}Contrassegnare una funzione async
Aggiunga la parola chiave async e la funzione restituirà automaticamente un Future. Il suo valore restituito diventa il valore con cui il future si completa.
Future<String> greet() async {
return "hi";
}Attendere un risultato
All'interno di una funzione async, await mette in pausa l'esecuzione finché il future non viene completato, quindi restituisce il valore semplice, non incapsulato.
final score = await fetchScore();
print(score); // 42await non blocca
Mentre una funzione è in attesa, l'event loop continua a eseguire altro lavoro. await sospende solo questa funzione, non l'intero programma.
Simulare un ritardo
Utilizzi Future.delayed per attendere una durata stabilita prima di produrre un valore: è perfetto per simulare una chiamata di rete lenta.
await Future.delayed(Duration(seconds: 1));
print("one second later");Un Future immediato
Future.value incapsula un valore già pronto in un future; è utile quando un'API richiede un Future, ma lei possiede già la risposta.
Future<int> ready = Future.value(7);Concatenare con then
Prima di async/await, si utilizzava then per eseguire una callback una volta risolto il future. È ancora utile per catene brevi.
fetchScore().then((s) => print(s));await è più leggibile
Rispetto a callback then annidate, await permette al codice asincrono di essere letto dall'alto verso il basso come una normale sequenza sincrona.
Restituire da async
Qualunque valore restituisca una funzione async diventa il valore del future. Se non restituisce nulla, ottiene un Future<void>.
await solo in async
Può usare await solo all'interno di una funzione contrassegnata come async. Al di fuori di essa, lavori con il Future tramite then.
Verifica rapida
Una verifica rapida sul comportamento di await.
Riepilogo: Future
Ora sa creare Future con async, fornire valori restituendoli e scartarne l'involucro con await. Il codice asincrono si legge con la stessa chiarezza di quello sincrono. 🚀
Domande Frequenti
La lezione «Creare e attendere i Future» è gratuita?
Sì — il testo completo di «Creare e attendere i Future» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Dart Academy, passa a CoddyKit PRO. Il corso Dart Academy include 4 lezioni in totale.
Cosa imparerò in «Creare e attendere i Future»?
Produrre e consumare valori Future. Eserciti Dart Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Dart Academy?
Non è richiesta alcuna esperienza precedente. Dart Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Creare e attendere i Future»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Dart Academy?
Sì. Ogni lezione Dart Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Event loop e microtask
- Creare e attendere i Future
- Gestire gli errori nel codice async
- Future.wait e lavoro parallelo