gpt4 book ai didi

javascript - $q 没有返回我发送的 promise

转载 作者:行者123 更新时间:2023-12-02 18:03:30 24 4
gpt4 key购买 nike

有一个问题让我失去了耐心。我的 promise 开始不起作用,我认为这对我来说可能是版本问题。我已经多次编写了这段代码,它的效果非常好:

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;
}
});

我的 Controller :

angular.module('blogApp')
.controller('MainCtrl', function ($scope, person) {
$scope.people = person.getPeople();
});

我已经记录了 person.getPeople() 及其显示的延迟对象,但没有解析。

我错过了什么?谢谢!

最佳答案

您正在影响对 people 变量的 promise 。解决与否不是问题的一部分。您想要的是影响 http 调用的结果,而不是 promise 。

这里是一个例子:

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;
}
});

关于javascript - $q 没有返回我发送的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com