我有一个问题让我耐心等待。我的承诺开始不起作用,我认为这可能是我的版本问题。我已经多次制作了这个代码,它就像一个魅力:
angular.module('blogApp')
.factory('person', function ($http, $q) {
var url = 'http://localhost:3000/pessoas';
return {
getPeople: function() {
var d = $q.defer();
$http.get(url)
.success(function(data) {
d.resolve(data);
});
return d.promise;
}
});
我的控制员:
angular.module('blogApp')
.controller('MainCtrl', function ($scope, person) {
$scope.people = person.getPeople();
});
我已经记录了person.getPeople()并且没有解析就显示了deffered对象。
我错过了什么? 谢谢!
答案 0 :(得分:2)
您正在影响对people
变量的承诺。
是否解决不是问题的一部分。
你想要的是影响http调用的结果,而不是承诺。
这是一个例子:
angular.module('blogApp')
.factory('person', function ($http, $q) {
var url = 'http://localhost:3000/pessoas';
return {
getPeople: function() {
return $http.get(url);
}
});
angular.module('blogApp')
.controller('MainCtrl', function ($scope, person) {
person.getPeople()
.then(function(data){
$scope.people = data;
}
});