Android catch块不返回空值
我正在为android开发一个颤振应用程序。我正在尝试通过电子邮件验证用户身份Android catch块不返回空值,android,ios,flutter,mobile,Android,Ios,Flutter,Mobile,我正在为android开发一个颤振应用程序。我正在尝试通过电子邮件验证用户身份 Future signInwithEmailAndPassword({String email,String pass}) async { try{ UserCredential result = await _auth.signInWithEmailAndPassword(email: email, password: pass); User user = result.user;
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');
});
}
当我收到“dynamicresult”变量中的返回值并打印它时,它将类型显示为Future。我希望catch块返回空值。
如何解决这个问题?它正在发生bcz,它不是在等待结果,我们必须等到结果回来。所以,我们需要在它前面放一个wait关键字。像这样
dynamic result = await _authService.signInwithEmailAndPassword(email: email,pass: pass);
尝试以下操作:dynamic result=wait _authService.signInwithEmailAndPassword(email:email,pass:pass)@角斗士谢谢伙计,那是我犯的愚蠢的错误,我忘了加上那个,无论如何谢谢男人:)