首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dartz接口无效覆盖

Dartz接口无效覆盖
EN

Stack Overflow用户
提问于 2020-12-15 23:46:11
回答 1查看 53关注 0票数 0

我目前正在用dartz包在flutter中设置一个电话号码验证。我的firebase_auth_facade.dart继承了我的i_auth_facade.dart,但当我尝试设置电话号码验证功能时,我得到了错误:

"FirebaseAuthFacade.verifyAndLinkPhoneNumber‘('Future> Function( String,String)')不是'IAuthFacade.verifyAndLinkPhoneNumber’('Future> Function({String smsCode,String verificationId})‘)的有效重写。“

下面是我的代码:

i_auth_facade.dart:

代码语言:javascript
复制
Future<Either<AuthFailure, Unit>> verifyAndLinkPhoneNumber({
  @required String verificationId,
  @required String smsCode,
});

firebase_auth_facade.dart:

代码语言:javascript
复制
@override
Future<Either<AuthFailure, Unit>> verifyAndLinkPhoneNumber(
    String verificationId, String smsCode) async {
  try {
    PhoneAuthCredential phoneAuthCredential = PhoneAuthProvider.credential(
        verificationId: verificationId, smsCode: smsCode);
    if (phoneAuthCredential == null) {
      return left((const AuthFailure.cancelledByUser()));
    }
    await _firebaseAuth.currentUser.linkWithCredential(phoneAuthCredential);
    return right(unit);
    } on FirebaseAuthException catch (_) {
    return left(const AuthFailure.serverError());
  }
}

有人知道为什么后者不是有效的覆盖吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-12-16 00:18:15

明白了。我忘了用大括号把构造函数括起来。firebase_auth_facade.dart应该如下所示:

代码语言:javascript
复制
@override
Future<Either<AuthFailure, Unit>> verifyAndLinkPhoneNumber({
@required String smsCode,
@required String verificationId,
}) async {
try {
  final verificationIdStr = verificationId;
  final smsCodeStr = smsCode.getOrCrash();
  PhoneAuthCredential phoneAuthCredential = PhoneAuthProvider.credential(
      verificationId: verificationIdStr, smsCode: smsCodeStr);
  if (phoneAuthCredential == null) {
    return left((const AuthFailure.cancelledByUser()));
  }
  await _firebaseAuth.currentUser.linkWithCredential(phoneAuthCredential);
  return right(unit);
} on FirebaseAuthException catch (_) {
  return left(const AuthFailure.serverError());
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65309150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档