Restangular 获取响应错误

Restangular get response errors

我在 angular 有一个简单的验证工厂,代码如下

.factory 'User',($window,$rootScope,Restangular)->
    {
        auth: (username,password)->
            Restangular.all 'auth/login/'
            .post {username:username,password:password}
            .then (response)->
                return response
            ,(response) ->
                return response
        .....

我正在使用

从我的控制器调用它
$scope.login = ()->
    $scope.running = 1
    console.log User.auth $scope.username,$scope.password
    $scope.running = 0
    return

问题是我需要在登录时显示错误(如果有的话)并将它们设置在 controller 中,但是 restangular 是异步的,我不知道该怎么做。正如您从第一个代码段中看到的那样,我尝试 return 这些值,但即使它们似乎也不起作用。

如何使用 Restangular scope 从服务器获取响应代码

你应该return restangular 调用,这是一个承诺。然后在回调上你可以对错误做一些事情:

auth: (username,password)->
    return Restangular.all 'auth/login/'
    .post {username:username,password:password}

控制器:

$scope.login = ()->
    $scope.running = 1
    User.auth( $scope.username,$scope.password)
    .then (response)->
        // success
    ,(response)->
        // fail
    .finally (response)->
        $scope.running = 0