when<R> method
R
when<R>({
- required R data(
- T data
- required R loading(
- T? previousData
- required R error(
- Object error,
- StackTrace stackTrace
Exhaustively pattern-matches all three async states.
Every branch must be provided. For partial matching, see maybeWhen or whenOrNull.
Implementation
R when<R>({
required R Function(T data) data,
required R Function(T? previousData) loading,
required R Function(Object error, StackTrace stackTrace) error,
}) {
final onData = data;
final onLoading = loading;
final onError = error;
return switch (this) {
AsyncData<T>(:final value) => onData(value),
AsyncLoading<T>(:final previousData) => onLoading(previousData),
AsyncError<T>(:final error, :final stackTrace) => onError(
error,
stackTrace,
),
};
}