var promise = GetQuestions.quote.get();
console.log(promise);
promise.$promise.then(function(quote) {
$scope.quotes = quote;
console.log($scope.quotes);
for( quote in $scope.quotes){
console.log(quote.cite);
}
});
工厂
.factory('GetQuestions', ['$resource', function($resource){
return {
quote: $resource('**Resource Link**', {}, { get: { method: 'GET', isArray: true }})
};
}])
这是console.log(promise):
[$promise: Promise, $resolved: false]
这是console.log($ scope.quotes):
并且console.log(quote.cite)记录未定义
问题:
我的问题是我无法访问“引用”,承诺应该已经解决,但我似乎无法正确访问数据。我尝试过promise.then()(而不是promise。$ promise.then()),但是我收到一个错误告诉我promise.then()不是函数。我不知道为什么会这样。有什么帮助吗?
答案 0 :(得分:1)
尝试
而不是for var in list
语法
$scope.quotes.forEach(function(quote) {
console.log(quote.cite);
});
for var in list
不应该用于迭代数组。它的目的是迭代对象属性。当你使用它迭代一个数组时,你经常会得到奇怪的行为。
请参阅this SO question。