我在 Dart 中有一个函数,我想返回一个 Either 值来传播一个失败(左)或一个对象(右)。这些数据依赖于 Dart 中类似 this 的函数中的不同 Either 值,但目前它返回 null,即使输入 Either 返回一个(正确的)值。
Future<Either<Failure, User>> getUser(String uid) async {
Either<Failure, DocumentSnapshot> document;
document = await _database.getDocumentById(uid);
// _database.getDocument function returns a Either<Failure, Document> object
// But when I fold the value to propagate the failure or return an User, I get null as
//return
document.fold((failure) => Left(failure), (document) => Right(User.fromJson(document.data)));
}
User.fromJson 函数已经过测试并且运行良好,但我无法返回 Either 对象