错误TS2339:类型“ Promise <用户>”上不存在属性“ sendEmailVerification”

问题描述

所以我正在使用ionic4应用程序,并且 sendEmailVerification 函数出现错误。控制台问我是否忘记使用“等待”。有什么解决方案?谢谢。

import { Injectable } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';

@Injectable({
  providedIn: 'root'
})
export class FirebaseAuthService {

  constructor(private angularFireAuth: AngularFireAuth) { }

  async registerWithEmailPassword(email,password) {
    try {
      const result = await this.angularFireAuth.createUserWithEmailAndPassword(email,password);
      await this.angularFireAuth.currentUser.sendEmailVerification();
      return result;
    }catch (error) {
      throw new Error(error);
    }
  }
}

解决方法

currentUser似乎是一个承诺,因此解决方案可能是:

...
      await (await this.angularFireAuth.currentUser).sendEmailVerification();
...

请注意,只有在await返回承诺并且您需要等待其完成之后才能返回结果,才需要外部sendEmailVerification

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...