$承諾:Angular.js resourceProvider返回與給定angular.js服務數據
angular.module('mymodule').factory('Products', ['$resource',
function($resource) {
return $resource('/path/to/getProducts', {}, {
find: {
method: 'GET',
isArray: false
}
});
}
]);
在mymodule
控制器我做find
查詢:
$scope.findAll = function() {
Products.find(function (products) {
console.log(Object.keys(products));
// ['prodA', 'prodB', ... , '$promise', '$resolved']
for (var i in products) {
if (!products.hasOwnProperty(i)) continue;
console.log(products[i].description.someprop);
// Got error: Cannot read property 'someprop' of undefined
// Trust me: I debug this place. someprop is defined for all items except that two
}
});
};
它工作正常,但返回$承諾, $使用數據集解析,這樣我就無法循環訪問我的數據。
角文件says表示Resource
實例和集合具有這些附加屬性。但我不明白如何在代碼中控制它。
我在做什麼錯?如何預防它?
謝謝!這是我需要的 – 2014-10-02 16:55:02
stackoverflow不允許我現在獎勵你的答案,但我會在20小時內完成) – 2014-10-02 16:58:28
不客氣。我也學到了一些東西! – deonclem 2014-10-02 17:01:19