问题描述
我将此方法作为我的存储库:
Future<Either<Exceptions,bool>> userRegister(FormData formData) async {
try {
final response = await _mourdakApi.userRegister(formData);
bool _isSuccesed;
if (response.statusCode == 200)
_isSuccesed = true;
else
_isSuccesed = false;
return Right(_isSuccesed);
} catch (e) {
return Left(
Exceptions(
message: e.toString(),),);
}
}
final FailedOrResult = _mourdakRepository.userRegister(event.formData);
return FailedOrResult.fold(
(exception) => UserExceptionState(exception.message),(isSuccesed) => UserRegisterState(isSuccesed));
但是我收到了这个错误:
The method 'fold' isn't defined for the type 'Future'
解决方法
我不知道它是否还没有解决,但只缺少等待。 另一种方法是使用在 lib dartz 中定义的 Task 方法
final failedOrResult = await _mourdakRepository.userRegister(event.formData);
return failedOrResult.fold(
(exception) => UserExceptionState(exception.message),(isSuccesed) => UserRegisterState(isSuccesed));