orElseGet method
Completes with the result of fallback if this future throws.
Use when the fallback is expensive or depends on the error.
Example:
final data = await load().orElseGet((e) => cachedData);
Implementation
Future<T> orElseGet(T Function(Object error) fallback) =>
catchError((Object error) => fallback(error));