2014-10-27 62 views
0

我有一个API返回以下响应

{ 
    "keyA": [1,2,5], 
    "keyB": [3,6,4], 
    "keyC": [3,2,1] 
} 

而且我使用了一个非常简单的服务来访问API端点

var $module = angular.module('mySimpleService', ['ngResource']); 

$module.service('MyApiService', function(
    $resource 
){ 
    return { 
     entities: $resource('http://myapi.com/data', null, { 
      'get': { 
       method: 'GET', 
       isArray: false, 
       responseType: 'json' 
      } 
     }) 
    }; 
}); 

我打电话这样

服务
var apiData = MyApiService.entities.get() 
.$promise.then(function(data){ 
    console.log(data); 
    console.log(Object.keys(data)); 
}); 

当我注销数据和对象键时,我可以看到角已添加$promise$resolved作为属性我的数据。由于我需要枚举键,这有点不方便。

我错过了关键的一步吗?我怎样才能访问我未经处理的未经处理的回应?

回答

1

与其使用承诺本身,您可以使用回调到.get来获取实体实例。

EntitiesApiService.entities.get(function (entity) { 
    // entity is unpolluted 
}); 

你仍然可以使用.$promise检查与null, function (error) {之类的故障。

+0

刚刚尝试过,它仍然在响应中添加了'$ promise'和'$ resolved'。 – gargantuan 2014-10-27 19:39:45

相关问题