*[<Null safety>](https://dart.dev/null-safety)*
Future<List<DiagnosticsData<METADATA>>> snapshot ({bool acceptSnapshot(List<DiagnosticsData<METADATA>> snapshot)?, Duration attemptDelay = const Duration(milliseconds: 100), int? maxAttempts = 200})
Future<List<DiagnosticsData<METADATA>>> snapshot( {bool acceptSnapshot(List<DiagnosticsData<METADATA>> snapshot)?, Duration attemptDelay = const Duration(milliseconds: 100), int? maxAttempts = 200}) async { for (var attempts = 0; maxAttempts == null || attempts < maxAttempts; attempts++) { final snapshot = await _snapshotAttempt; if (acceptSnapshot == null || acceptSnapshot(snapshot)) { return snapshot; } await Future.delayed(attemptDelay); } throw Exception('snapshot failed'); }