database - 断言失败:'电子邮件!= null'?
问题描述
有谁知道为什么我的结果为空?当我想注册时,调试控制台显示:断言失败:第 183 行 pos 12: 'email != null': is not true。它显示为空。这是我按下注册按钮时的注册代码,另一个代码是我的身份验证类。如果有人知道请发表评论。
Future <void> signUp() async {
if(_formKey.currentState.validate()){
setState(() {
isLoading = true;
});
await authService.signUpWithEmailAndPassword(_email,
_password).then((result) {
if(result != null){
Map<String,String> userDataMap = {
"Username" : _Username,
"Email" : _email,
"Nation" : _Nation,
};
databaseService.addUserInfo(userDataMap);
HelperFunction.saveUserLoggedInSharedPreference(true);
HelperFunction.saveUserNameSharedPreference(_Username);
HelperFunction.saveUserEmailSharedPreference(_email);
HelperFunction.saveUserNationSharedPreference(_Nation);
Navigator.pushReplacement(context, MaterialPageRoute(
builder: (context) => LoadingBarForUserCreation()
));
}else{
print(result);
}
}).catchError((e){
_showSettingPanelForEmail();
});
}
身份验证服务
class AuthService{
final FirebaseAuth _auth = FirebaseAuth.instance;
Userf _userFromFirebaseUser(User user){
return user != null ? Userf(uid: user.uid) : null;
}
Stream<Userf> get user {
return _auth.onAuthStateChanged
.map(_userFromFirebaseUser);
}
Future signInWithEmailAndPassword(String email, String password) async {
try {
User user = (await _auth.signInWithEmailAndPassword(
email: email, password: password)).user;
return _userFromFirebaseUser(user);
} catch (e) {
print(e.toString());
return null;
}
}
Future signUpWithEmailAndPassword(String email, String password) async {
try {
User user = (await _auth.createUserWithEmailAndPassword(
email: email, password: password)).user;
return _userFromFirebaseUser(user);
} catch (e) {
print(e.toString());
return null;
}
}
Future signOut() async {
try {
return await _auth.signOut();
} catch (e) {
print(e.toString());
return null;
}
}
}
解决方案
推荐阅读
- node.js - Nginx 反向代理 + ExpressJS + Angular + SSL 配置问题
- javascript - 使用 JQuery 将弹出窗口附加到页面后,如何在弹出窗口中播放 gif?
- java - Java 8 Wildfly 14 OutOfMemoryError 阶段安装
- android - WiFi更改时未调用BroadcastReceiver
- laravel - Vue-Router + Vuetify 不显示命令
- excel - 如何创建根据确定值更改大小的表
- date - SAS从日期变量创建季节变量
- django - Django模型-每个父引用的子表元素的自动增量ID
- android - android数据绑定的问题
- mysql - 字段中的MySQL唯一哈希?