【发布时间】:2021-12-30 01:29:13
【问题描述】:
我正在为我的应用程序使用 Flutter 和 Firebase。我不知道为什么我在下面的代码中出现错误。使用降级版本的颤振(没有空安全性)它工作正常,但是在迁移到空安全性之后,我在这里遇到了问题。
class AuthenticationService {
final FirebaseAuth firebaseAuth = FirebaseAuth.instance;
final firebaseUser = FirebaseAuth.instance.currentUser;
users.User? _userFromFirebase(User user){
return user != null ? users.User(id: user.uid, email: user.email):null;
}
User? user() {
firebaseAuth.authStateChanges().listen((User? user) {
if(user == null){
return null;
} else {
return user; //I am getting error here in return statement
}
});
}
Future loginWithEmail({required String email, required String password}) async {
try{
UserCredential result = await firebaseAuth.signInWithEmailAndPassword(email: email, password: password);
User? user = result.user;
return _userFromFirebase(user!);
} catch (e) {
return e.toString();
}
}
Future register({required String email, required String password}) async {
try{
UserCredential result = await firebaseAuth.createUserWithEmailAndPassword(email: email, password: password);
User? user = result.user;
return _userFromFirebase(user!);
} catch (e) {
return e.toString();
}
}
}
在User? user(){} 方法中,我在返回语句中遇到错误。任何人都可以知道它吗??
我认为那里有一些我无法识别的小错误。
错误是:
Error: Can't return a value from a void function.
【问题讨论】:
-
“我在返回语句中遇到错误”请编辑您的问题以显示您获得的确切错误消息和堆栈跟踪。
-
@FrankvanPuffelen:我已经用确切的错误消息编辑了问题。
标签: flutter firebase-authentication dart-null-safety