retry<E> function

Future<E> retry<E>(
  1. Future<E> action(), {
  2. int trials = 5,
  3. int delay = 100,
})

Implementation

Future<E> retry<E>(Future<E> Function () action, {int trials = 5, int delay = 100}) async {
  try {
    return await action();
  } catch(e) {
    if (trials>0) {
      sleep(Duration(milliseconds: delay));
      return await retry(action, trials: trials - 1, delay: delay);
    } else {
      throw e;
    }
  }
}