簡體   English   中英

Angulars $ resource返回的Cant訪問屬性

[英]Cant access properties returned by Angulars $resource

我正在嘗試使用angulars資源工廠獲取數據,但我不太了解如何正確處理響應。

該工廠:

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時,得到以下信息:

屏幕截圖

我無法使用常規的對象符號來訪問屬性,返回未定義。

如何訪問返回對象的屬性?

您的資源正在兌現承諾。 您需要解決該承諾才能訪問返回的數據。

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

執行此操作的方式是返回實際的Promise對象,而不是Promise中的已解析數據。 您可以在控制台中看到數據的原因是,它在注銷時就已解析,但是當您嘗試使用點表示法訪問它時,promise仍然沒有解析並且您不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM