Futures, then, catchError, whenComplete

A Future represents a value or an error that will be available in the future. This generic class should be used whenever you’re working with time-consuming functions returning a result after a notable amount of time.