Returns a Future that completes when all currently running tasks complete.
If withWaiting is set, it will include the waiting tasks too.
withWaiting
Future<List<Object?>> join({bool withWaiting = false});