minWait method

Future<T> minWait(
  1. Duration duration
)

Ensures the future takes at least duration to complete.

This is useful for UI to prevent loading spinners from flickering (showing for only a few ms).

Example:

await apiCall().minWait(const Duration(milliseconds: 500));

Implementation

Future<T> minWait(Duration duration) async {
  final results = await Future.wait([this, Future<void>.delayed(duration)]);
  return results[0] as T;
}