javascript - 从 Promise 捕获 Firebase 身份验证错误

标签 javascript angularjs firebase firebase-authentication dom-events

我尝试使用尝试登录后从 Firebase 收到的 promise 来捕获并显示身份验证错误。

btnsignin.addEventListener('click', e =>{
    const emailaddress = email.value;
    const passworddetail = password.value;
    const auth = firebase.auth();
   const promise = auth.signInWithEmailAndPassword(emailaddress, passworddetail);
    **promise.catch(function(e) {
        $scope.signinchallenges = e.message;
    });
} );**

btnsignin被触发时,只有再次单击时才会显示身份验证错误。有什么帮助吗?

最佳答案

这个问题是由于 AngularJS 不知道你已经更新了范围而引起的。因此,当您更新该值时,AngularJS 不会重新绘制 View 。要提醒其更新,请使用 $timeout$apply:

promise.catch(function(e) {
  $timeout(function(e) {
    $scope.signinchallenges = e.message;
  });
})

或者,您可以简单地将 promise 分配给范围:

$scope.signinchallenges = auth.signInWithEmailAndPassword(emailaddress, passworddetail);

然后在您的 View 中阅读来自那里的消息:

{{signinchallenges.message}}

关于javascript - 从 Promise 捕获 Firebase 身份验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39590392/

相关文章:

javascript - 想要制作一个基于 URL 的音频播放器,但 Javascript 不起作用

django - 禁用在 django rest 框架中创建嵌套对象

AngularJS ng-include : onload calling a function defined in included controller

android - 无法在Firebase数据库的userid文件夹内创建新路径

javascript - 未捕获的 TypeError : check. addEventListener 不是函数

javascript - 如何允许我的 Asp.net MVC 3 Web 应用程序使用 MathJax 接受用户输入 $x<y>z$?

javascript - 使用 JavaScript 如何将值从父表单传递到子表单?

javascript - 使用 TypeScript 和 Angular 1 隔离指令中的范围

swift - Firebase 不会使用 Facebook 应用程序用户 ID 创建 Facebook 帐户用户 UID

java - 单击带有 firebase 的通知时打开通知 Activity