如何检查angularfire用户是否存在身份验证标识符

如何检查angularfire用户是否存在身份验证标识符,angular,firebase,firebase-authentication,Angular,Firebase,Firebase Authentication,我已经查看了许多解决方案,但大多数都与检查auth用户是否登录有关,或者通过使用文档引用来通读和检查用户电子邮件 我想要实现的是运行用户输入,并在身份验证标识符中检查电子邮件地址是否已经存在。 据我所知,auth实际上发出了错误,比如auth/email已经在使用了 这是我现在拥有的,但每次我尝试输入的电子邮件,它都会返回“用户已在使用”的信息 fetchSignInMethodForEmail(电子邮件)使用结果列表解析(调用then())。它仅在出现错误时(例如当您指定无效的电子邮件地址时)

我已经查看了许多解决方案,但大多数都与检查auth用户是否登录有关,或者通过使用文档引用来通读和检查用户电子邮件

我想要实现的是运行用户输入,并在身份验证标识符中检查电子邮件地址是否已经存在。 据我所知,auth实际上发出了错误,比如auth/email已经在使用了 这是我现在拥有的,但每次我尝试输入的电子邮件,它都会返回“用户已在使用”的信息


fetchSignInMethodForEmail(电子邮件)
使用结果列表解析(调用
then()
)。它仅在出现错误时(例如当您指定无效的电子邮件地址时)才会拒绝(调用
catch

因此,您必须检查传入
then()
的登录方法数组是否为空:

firebase.auth().fetchSignInMethodsForEmail(email)
  .then(function(signInMethods) {
    if (signInMethods.length > 0) {
      ...
    }
  })

另请参阅。

当您使用firebase auth中不存在的电子邮件时,是否尝试检查您的
用户
是否为
?如果没有现有电子邮件,用户将返回
[]
数组;如果有用户,用户将返回
[“密码”]
firebase.auth().fetchSignInMethodsForEmail(email)
  .then(function(signInMethods) {
    if (signInMethods.length > 0) {
      ...
    }
  })