Delinting future awaits round 2 (#10790) * round 2 * deal with null futures * review * review * review * review
diff --git a/packages/flutter_tools/lib/src/base/utils.dart b/packages/flutter_tools/lib/src/base/utils.dart index fddf40c..af7b8b8 100644 --- a/packages/flutter_tools/lib/src/base/utils.dart +++ b/packages/flutter_tools/lib/src/base/utils.dart
@@ -256,3 +256,14 @@ _timer = null; } } + +/// Returns a [Future] that completes when all given [Future]s complete. +/// +/// Uses [Future.wait] but removes null elements from the provided +/// `futures` iterable first. +/// +/// The returned [Future<List>] will be shorter than the given `futures` if +/// it contains nulls. +Future<List<T>> waitGroup<T>(Iterable<Future<T>> futures) { + return Future.wait<T>(futures.where((Future<T> future) => future != null)); +}