dispatchSafe<R> method
- Command<
R> command
Выполняет команду и возвращает результат в виде Result.
Ошибки обработчика и middleware не пробрасываются, а возвращаются в
Result.failure вместе со стэктрейсом. Подходит, когда хочется избежать
try/catch в клиентском коде и получить единый контракт «данные или
ошибка».
Implementation
Future<Result<R>> dispatchSafe<R>(Command<R> command) async {
try {
final data = await dispatch<R>(command);
return Result.success(data);
} catch (e, st) {
return Result.failure(error: e, stackTrace: st);
}
}