Future<T> timeout(Duration timeLimit, { dynamic onTimeout() })

Time-out the future computation after timeLimit has passed.

Returns a new future that completes with the same value as this future, if this future completes in time.

If this future does not complete before timeLimit has passed, the onTimeout action is executed instead, and its result (whether it returns or throws) is used as the result of the returned future. The onTimeout function must return a T or a Future<T>.

If onTimeout is omitted, a timeout will cause the returned future to complete with a TimeoutException.

Source

Future<T> timeout(Duration timeLimit, {FutureOr<T> onTimeout()});