Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Flutter Cookbook, Second Edition

You're reading from   Flutter Cookbook, Second Edition 100+ step-by-step recipes for building cross-platform, professional-grade apps with Flutter 3.10.x and Dart 3.x

Arrow left icon
Product type Paperback
Published in May 2023
Publisher Packt
ISBN-13 9781803245430
Length 712 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Simone Alessandria Simone Alessandria
Author Profile Icon Simone Alessandria
Simone Alessandria
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Preface 1. Getting Started with Flutter 2. Creating Your First Flutter App FREE CHAPTER 3. Dart: A Language You Already Know 4. Introduction to Widgets 5. Mastering Layout and Taming the Widget Tree 6. Adding Interactivity and Navigation to Your App 7. Basic State Management 8. The Future is Now: Introduction to Asynchronous Programming 9. Data Persistence and Communicating with the Internet 10. Advanced State Management with Streams 11. Using Flutter Packages 12. Adding Animations to Your App 13. Using Firebase 14. Firebase Machine Learning 15. Flutter Web and Desktop 16. Distributing Your Mobile App 17. Other Books You May Enjoy
18. Index

Completing Futures

Using a Future with then, catchError, async, and await is probably enough for most use cases, but there is another way to deal with asynchronous programming in Dart and Flutter: the Completer class.

Completer creates Future objects that you can complete later with a value or an error. We will be using Completer in this recipe.

Getting ready

In order to follow along with this recipe, there are the following requirements:

How to do it...

In this recipe, you will see how to use the Completer class to perform a long-running task:

  • Add the following code in the main.dart file, in the _FuturePageState class:
late Completer completer;
Future getNumber() {
    completer = Completer<int>();
    calculate();
    return completer.future;
  }
calculate...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime