【发布时间】:2020-12-23 22:20:51
【问题描述】:
我正在为 android 开发一个颤振应用程序。我正在尝试通过电子邮件对用户进行身份验证。
Future signInwithEmailAndPassword({String email,String pass}) async {
try{
UserCredential result = await _auth.signInWithEmailAndPassword(email: email, password: pass);
User user = result.user;
return _userFromFirebase(user);
}catch(e){
print('error occured');
print(e.toString());
return null;
}
}
这是我使用电子邮件和密码对用户进行身份验证的方法。 问题是 catch 块被执行,错误信息打印在控制台,但是当我处理返回值时它没有返回空值
dynamic result = _authService.signInwithEmailAndPassword(email: email,pass: pass);
print(result);
if(result==null)
{
setState(() {
print('inside setstate');
});
}
当我收到“动态结果”变量中的返回值并打印它时,它显示类型为 Future 。我希望 catch 块返回空值。 如何解决?
【问题讨论】:
-
试试这个:动态结果 = await _authService.signInwithEmailAndPassword(email: email,pass: pass);
-
@gladiator 谢谢老兄,那是我犯的一个愚蠢的错误,我忘了补充,无论如何谢谢人:)
标签: android ios flutter mobile