allSettled<T> function

Future<List<Object?>> allSettled<T>(
  1. List<Future<T>> futures
)

Attempts all futures and returns results (values or error+stackTrace pairs).

Implementation

Future<List<Object?>> allSettled<T>(
  List<Future<T>> futures,
) async {
  final List<Object?> results = List<Object?>.filled(futures.length, null);

  for (final (i, future) in futures.indexed) {
    try {
      final value = await future;

      results[i] = value;
    } on Object catch (e, st) {
      debugPrint('allSettled: $e\n$st');
      results[i] = <Object>[e, st];
    }
  }

  return results;
}