【发布时间】:2015-12-13 04:02:45
【问题描述】:
我有一个factory,它在获取 json 文件时为我提供了一个承诺:
myapp.factory('topAuthorsFactory', function($http, $q) {
var factory = {
topAuthorsList: false,
getList: function() {
var deffered = $q.defer();
$http.get('../../data/top_10_authors.json')
.success(function(data, status) {
factory.topAuthorsList = data;
}).error(function(data, status) {
deffered.reject('There was an error getting data');
});
return deffered.promise;
}
};
return factory;
});
在我的controller 中,我想在我的控制台上显示json 文件的内容,如下所示:
myapp.controller('topAuthorsController', function($scope, topAuthorsFactory) {
$scope.listAuthors = topAuthorsFactory.getList().then(function(topAuthorsList) {
$scope.listAuthors = topAuthorsList;
console.log('Testing...');
}, function(msg) {
alert(msg);
});
console.log($scope.listAuthors);
}
但在我的控制台中我得到了这个:
那么我该如何解决呢?以及为什么我在控制台中看不到“正在测试...”的消息?
【问题讨论】:
标签: angularjs promise angularjs-controller angular-promise angularjs-factory