2014-10-27 2 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 as properti к моим данным. Поскольку мне нужно перечислить ключи, это немного неудобно.

Я пропустил здесь важный шаг? Как я могу получить доступ к моему необработанному сырому ответу?

ответ

1

Вместо того чтобы использовать само обещание, вы можете использовать обратный вызов .get, чтобы получить экземпляр объекта.

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

Вы могли использовать .$promise проверять наличие сбоев с null, function (error) { и тому подобное.

+0

Просто попробовав это, он по-прежнему добавляет '$ prom' и' $ resolved' к ответу. – gargantuan

Смежные вопросы