#flutter #dart #asynchronous #future #dartz
Вопрос:
У меня есть фрагмент кода, который выглядит примерно так:
final Either<Failure, Unit> resA = await deleteA();
resA.fold(
(failure) => handleFailure(),
(success) async {
final Either<Failure, Unit> resB = await deleteB();
resB.fold(
(failure) => handleFailure(),
(success) => handleSuccess(),
);
},
);
По сути, я хочу вызвать первую функцию, которая возвращает либо сбой, либо единицу (значение успеха не имеет значения).
Затем, если первая функция удалась успешно, я хочу вызвать другую функцию, которая также вернет либо будущее, либо единицу.
Как я мог сделать, чтобы избежать этого уродливого вложенного вызова fold
внутри другого fold
?
Я работаю с пакетом dartz, который действительно классный, но не имеет документации.