A Future represents a potential value, or error , that will be available at some time in the future. A Future can be complete with a value or with an error. Programmers can plug callbacks for each case. Futures and async and await keywords are used to perform asynchronous operations in Dart.