A future whose value is available in the next event-loop iteration.
If result is not a Future, using this constructor is equivalent
to new Future<T>.sync(() => result).
Use Completer to create a future and complete it later.
Source
factory Future.value([FutureOr<T> result]) {
return new _Future<T>.immediate(result);
}