0

这是使用Firebase 进行电话号码身份验证的功能, _signInWithPhone是一个流。

void signInWithPhone() {

    emit(state.copyWith(status: FormzStatus.submissionInProgress));
    try {
      _phoneNumberSignInSubscription = _signInWithPhone(
              phoneNumber: state.phone.value, timeout: verificationCodeTimeout)
          .listen((event) {
        emit(
          state.copyWith(verificationId: event),
        );
      });
    } on PhoneAuthError catch (e) {
      emit(state.copyWith(
          status: FormzStatus.submissionFailure, errorMessage: e.toString()));
    } catch (_) {
      emit(state.copyWith(status: FormzStatus.submissionFailure));
    }

在没有 try/catch 块的情况下如何最好地处理错误。我相信 try/catch 块会导致无法按预期捕获错误。请提出一种更好的方法,它应该可以有效地与 Flutter Bloc/Cubit 一起使用。提前致谢

4

0 回答 0