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 ブロックを使用すると、期待どおりにエラーをキャッチできないと思います。Pls はより良いアプローチを提案し、Flutter Bloc/Cubit で効率的に動作するはずです。前もって感謝します

4

0 に答える 0