解决 Angular 资源承诺

Resolve Angular resource promise

我 运行 遇到了试图访问通过资源返回的数据的问题。看来我在访问数据之前没有解决承诺,因为我的数据包含 $promise 对象和 resolved 属性.

这是我的服务:

angular.module('sampleApp')
  .factory('usersService', ['$resource',
    function($resource) {
      var base = '/api/users/:userId/';
      return $resource(base, {}, {
        getLimits: {method: 'GET', url: base + 'limits'},
      });
    }]);

...以及相关的控制器代码:

var getUserLimits = function() {
  usersService.getLimits({
    userId: userId
  }).$promise.then(function(data) {
    console.log(data);
  });
};

这是记录到我的控制台的内容: 我打算从 data 得到的是一个包含 depositspendwithdrawal 对象的对象。

在你的成功回调中,你可以使用 $resource 响应的 toJSON() 函数,这样你就可以得到你想要的普通对象...

var getUserLimits = function() {
  usersService.getLimits({
    userId: userId
  }).$promise.then(function(data) {
    console.log(data.toJSON());
  });
};