waitForApiRequestCompleted method

Future waitForApiRequestCompleted({
  1. double minWait = 0,
  2. double maxWait = double.infinity,
})

Implementation

Future waitForApiRequestCompleted({
  double minWait = 0,
  double maxWait = double.infinity,
}) async {
  final stopwatch = Stopwatch()..start();
  while (true) {
    await Future.delayed(Duration(milliseconds: 50));
    final timeElapsed = stopwatch.elapsedMilliseconds;
    final requestComplete = apiRequestCompleter?.isCompleted ?? false;
    if (timeElapsed > maxWait || (requestComplete && timeElapsed > minWait)) {
      break;
    }
  }
}