2017-04-16 96 views
0

在下面的登录函数中,运行成功警报(通过成功验证)后,它也会捕获错误,同时显示成功和错误消息。为什么?Javascript - 为什么发生此异常?

有什么建议吗?请帮忙。谢谢!

登录功能:

$scope.login = function() {   
    $signin_email = $scope.member.email; 
    $signin_password = $scope.member.password; 

    // sign in 
     Auth.$signInWithEmailAndPassword($signin_email, $signin_password) 
     .then(function(firebaseUser) { 
      authenticated = true; 
      alert(firebaseUser.email + " logou caralho!"); 
      $state.go('tabsController.home'); 
      check(); 
     }).catch(function(error) { 
      authenticated = false; 
      alert(error.message); 
      //$scope.error = error; 
      check(); 
     }); 
    }; 
+0

控制台中的错误是什么? – charlietfl

回答

-2

承诺“贯穿”,以采取进一步措施,如果他们没有明确拒绝。在您的catch方法中添加Promise.reject的呼叫方法:

Auth.$signInWithEmailAndPassword($signin_email, $signin_password) 
    .then(function(firebaseUser) { 
    authenticated = true; 
    alert(firebaseUser.email + " logou caralho!"); 
    $state.go('tabsController.home'); 
    check(); 
    }).catch(function(error) 
    authenticated = false; 
    alert(error.message); 
    //$scope.error = error; 
    check(); 
    return Promise.reject(); 
    }); 
+0

呵呵? catch/order的顺序不相关。他们都是同一个对象的属性 – charlietfl

+0

@charlietfl谢谢,编辑 – furkle

+0

所以额外的Promise.reject()是什么?这是没有道理的 – charlietfl

相关问题