Невозможно получить доступ к свойствам, возвращаемым Angulars $ resource

0

Я пытаюсь получить данные с помощью фабрики ресурсов углов, но я не совсем понимаю, как правильно обрабатывать ответ.

Фабрика:

function dataFactory($resource, ENV) {
  return $resource('http://foo/bar', {
      accountId: '@accountId'
    },
    {
      getData: {
        method: 'POST',
         url: 'http://foo/bar',
         headers: {
            'Content-Type': 'application/json'
        }

      }
    }
  );
}

В сервисе:

     function fetchRealTimeData() {
        return dataFactory.getData(requestParameters).$promise;

  }

В моей директиве:

dataToApply = CdnAnalyticsService.fetchRealTimeData()

Когда я регистрирую dataToApply, я получаю следующее:

Изображение 174551

Я не могу использовать стандартную нотацию объектов для доступа к свойствам, возвращает undefined.

Как я могу получить доступ к свойствам возвращаемого объекта?

Теги:
ngresource

1 ответ

0

Ваш ресурс возвращает обещание. Вам необходимо решить это обещание для доступа к возвращенным данным.

function fetchRealTimeData () {
  return dataFactory.getData(requestParameters)
    .then(function (data) {
      return data;
    });
}

Как вы это делаете, вы возвращаете фактический объект обещания, а не разрешенные данные из обещания. Причина, по которой вы можете видеть данные в консоли, состоит в том, что она разрешилась к моменту ее выхода из системы, но когда вы пытаетесь получить к ней доступ с точечной нотацией, обещание все еще не разрешено, и вы получите неопределенный.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню