Firebase';s Angularfire未在带有电子邮件和密码的$Signin上触发捕捉

Firebase';s Angularfire未在带有电子邮件和密码的$Signin上触发捕捉,firebase,angularfire,Firebase,Angularfire,调用任何AngularFire示例时,我都会收到服务器的响应,但then&catch中的方法不会触发 Html: script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.js">/script> script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js">/script> script src="https://c

调用任何AngularFire示例时,我都会收到服务器的响应,但then&catch中的方法不会触发

 Html:
script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.js">/script>
script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js">/script>
script src="https://cdn.firebase.com/libs/angularfire/2.0.0/angularfire.min.js"> 

Javscript:
// Factory from example
    myApp.factory("Auth", ["$firebaseAuth",
      function($firebaseAuth) {
        return $firebaseAuth();
      }
    ]);

    // Function called from inside controller
            Auth.$signInWithEmailAndPassword("my@email.com", "password").then(function(firebaseUser) {
      console.log("Signed in as:", firebaseUser.uid);
    }).catch(function(error) {
      console.error("Authentication failed:", error);
    });
我无法得到当时的逻辑或火灾。相反,输出是:

firebase.js:75未捕获错误:没有相应的用户记录 指向此标识符。用户可能已被删除


应将.catch部分放在捕获的位置。我在旧的firebase中使用了它,但我记得它在那里并不总是可靠的。

看起来AngularFire 2.0.0 lib中有一个bug。尝试导入2.0.1

<script src="https://cdn.firebase.com/libs/angularfire/2.0.1/angularfire.min.js"></script>


我使用的是2.0.1,如果您以同样的方式调用它,$signInWithEmail和PasswordCheck的catch()块中仍然没有错误(scope.login函数,第21行):我收到firebase开发人员的回复,错误没有发送到catch块,因为参数本身是错误的(在我的测试用例中丢失),因此,为了避免承诺误差黑洞现象,对误差进行了同步处理。这似乎是设计在这种情况下。