- 01Setting up (what you'll need)
- 02Your first output (print)
- 03Variables and types (var and annotations)
- 04Null safety (? and !)
- 05Branching (the if statement)
- 06Repeating (the for loop)
- 07Writing your own function
- 08Repeating (the while loop)
- 09Working with lists (List)
- 10Working with maps (Map)
- 11Classes (object orientation)
- 12Constructors
- 13Inheritance
- 14Named arguments
- 15Asynchronous work (Future, async, await)
- 16Working with strings
- 17The switch statement
- 18The ternary operator
- 19Extension methods
- 20[Project] Build a small inventory system
Asynchronous work (Future, async, await)
This lesson covers the basics of asynchronous programming, for work that takes time.
Future is the type representing a value you will get later. Marking a function async lets you use await inside it to wait for asynchronous work to finish.
The sample code simulates a delay with Future.delayed inside Future<String> fetchData() async { ... }, then waits for the result with await before displaying it.
A common early stumble is forgetting to mark the calling function async as well. await can only be used inside an async function.
In professional work, most time-consuming operations — fetching data from a server, reading a file — are written with async and await. It is unavoidable in Flutter development.
๐งช This site can't compile or run Dart directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
