为什么我在文本字段中键入错误代码时遇到错误并卡住了?
void _signInWithPhoneNumber(String smsCodes) async {
final AuthCredential credential = PhoneAuthProvider.getCredential(
verificationId: verificationId,
smsCode: smsCodes,
);
FirebaseAuth _auth = FirebaseAuth.instance;
final FirebaseUser user =
await _auth.signInWithCredential(credential).then((user) {
Navigator.of(context).pop();
Navigator.of(context)
.push(MaterialPageRoute(builder: (context) => SuksesPhone()));
}).catchError((e) {
print(e);
Navigator.of(context).pop();
setState(() {
canClick = true;
});
});
}
但是当我输入正确的代码时,没有错误。
答案 0 :(得分:0)
不确定100%,但是我认为应该是这样。使用await
时,请勿使用then
。
void _signInWithPhoneNumber(String smsCodes) async {
final AuthCredential credential = PhoneAuthProvider.getCredential(
verificationId: verificationId,
smsCode: smsCodes,
);
FirebaseAuth _auth = FirebaseAuth.instance;
final FirebaseUser user =
await _auth.signInWithCredential(credential).catchError((onError{
//do something
}));
//check user
if(user){
Navigator.of(context)
.push(MaterialPageRoute(builder: (context) => SuksesPhone()));
}
}