Files
plezy/lib/utils/future_extensions.dart
T

15 lines
427 B
Dart
Raw Normal View History

2026-03-15 05:06:16 +01:00
import 'dart:async';
extension NamedTimeoutExtension<T> on Future<T> {
/// Like [Future.timeout], but the [TimeoutException] includes [operation]
/// so crash reports identify which call timed out.
Future<T> namedTimeout(Duration timeLimit, {required String operation}) {
2026-04-18 12:40:35 +02:00
return timeout(
timeLimit,
onTimeout: () {
throw TimeoutException('$operation timed out', timeLimit);
},
);
2026-03-15 05:06:16 +01:00
}
}