正文可能会正常完成,从而导致返回'null',但返回类型"Future<Useri"可能是不可为空的类型


class FirebaseAuthService implements AuthBase {
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;    
@override
Future<Userim> currentUser() async {
try {
User? user = await _firebaseAuth.currentUser;
return _userFromFirebase(user);
} catch (e) {
print('ERROR CURRENT USER' + e.toString());
}
}    
Userim _userFromFirebase(User? user) {
if (user == null) {
return null;
} else {
return Userim(userID: user.uid);
}
}
}
class Userim{
final String userID;    
Userim({required this.userID});
}

在我的代码中使用Flutter Firebase currentUser()方法时:

The body might complete normally, causing 'null' to be returned, but the return type, 'Future<Userim>', is a potentially non-nullable type.
Try adding either a return or a throw statement at the end.

我得到错误。也返回null

A value of type 'Null' can't be returned from the method '_userFromFirebase' because it has a return type of 'Userim'

如果你想让你的返回值为空只是添加?到它的类型声明:

Future<Userim?> currentUser() async... etc.

Userim? _userFromFirebase(User? user) {... etc.

相关内容

最新更新