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.