Creates a future that runs its computation after a delay.
The computation will be executed after the given duration has passed, and the future is completed with the result. If the duration is 0 or less, it completes no sooner than in the next event-loop iteration.
If computation is omitted,
it will be treated as if computation was set to () => null
,
and the future will eventually complete with the null
value.
If calling computation throws, the created future will complete with the error.
See also Completer for a way to create and complete a future at a later time that isn't necessarily after a known fixed duration.