【问题标题】:Flutter : phone verification firebase_auth get error when submit wrong CodeFlutter:手机验证firebase_auth在提交错误代码时出错
【发布时间】:2020-01-23 04:16:07
【问题描述】:

为什么我在文本字段中输入错误代码时会出错并卡住?

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;
      });
    });
  }

但是当我输入正确的代码时,没有错误。

错误是这样的。

【问题讨论】:

    标签: flutter firebase-authentication


    【解决方案1】:

    不是 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()));
    }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      相关资源
      最近更新 更多