[英]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.