a) add the async keyword to the main() function. b) add the await keyword in front of the future object. Result: Once Dart encounters the await keyword, it sends all the code starting from that line to the event queue and waits for the future to complete. That’s why you see the number 2 before 3.