gpt4 book ai didi

angularjs - angular $http 服务中,返回

转载 作者:行者123 更新时间:2023-12-04 08:08:22 24 4
gpt4 key购买 nike

我厂里有这个

productsFactory.getOneProduct = function(){
$http({
method: 'GET',
url: '/api/products/' + $stateParams.productID
}).
success(function(data, status, headers, config){

console.log(data);
return data;
}).
error(function(data, status, headers, config){

});
}

这是我的 Controller :
$scope.selectedProduct = ProductsFactory.getOneProduct();

console.log(data) 输出我想要的数据。但是当我从 Controller 调用它时,我得到了“未定义”。猜猜这与从匿名函数返回有关吗?我做错了吗?

最佳答案

您的 getOneProduct函数不返回任何内容,这意味着它隐式返回 undefined ,因此错误。
$http返回一个 promise ,你必须从你的函数中返回那个 promise 。所以把你的代码改成这样:

productsFactory.getOneProduct = function(){
return $http({
method: 'GET',
url: '/api/products/' + $stateParams.productID
}).
success(function(data, status, headers, config){

console.log(data);
return data;
}).
error(function(data, status, headers, config){

});
}

然后在您的 Controller 中:
productsFactory
.getOneProduct()
.then(response){});

关于angularjs - angular $http 服务中,返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18851963/

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