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 已经解决,但我似乎无法正确访问数据。我尝试过执行promise.then()(而不是promise.$promise.then()),但是我收到一条错误消息,告诉我promise.then()不是一个函数。我不知道这是为什么。有什么帮助吗?
最佳答案
尝试代替 for var in list
语法
$scope.quotes.forEach(function(quote) {
console.log(quote.cite);
});
for var in list
不应该用于迭代数组。它的预期目的是迭代对象属性。当你使用它来迭代数组时,你经常会得到奇怪的行为。
参见this SO question .
关于javascript - AngularJS Promise 已解决但无法访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43121404/