Angular JS:服务响应未保存到变量
Angular JS: Service Response not Saving to Variable
我正在尝试弄清楚为什么此服务的响应没有保存到 $scope.counter
。我在我的服务 fetchCustomers(p)
中添加了一个函数,它接受一些参数和 returns 一个数字,我想将其保存到 $scope.counter
.
服务
angular.module('app')
.factory('MyService', MyService)
function MyService($http) {
var url = 'URL'';
return {
fetchTotal: function(p) {
return $http.get(url, { params: p })
.then(function(response) {
return response.data.meta.total;
}, function(error) {
console.log("error occured");
})
}
}
}
控制器
$scope.counter = MyService.fetchTotal(params).then(function(response) {
console.log(response);
return response;
});
但出于某种原因,这不起作用。它是控制台记录值,但不将其保存到 $scope.counter
。有什么想法吗?
如果我对你的问题的理解正确,那么你是在设置 $scope.counter
承诺,而不是回应。
MyService.fetchTotal(params).then(function(response) {
// Anything dealing with data from the server
// must be put inside this callback
$scope.counter = response;
console.log($scope.counter); // Data from server
});
// Don't do this
console.log($scope.counter); // Undefined
我正在尝试弄清楚为什么此服务的响应没有保存到 $scope.counter
。我在我的服务 fetchCustomers(p)
中添加了一个函数,它接受一些参数和 returns 一个数字,我想将其保存到 $scope.counter
.
服务
angular.module('app')
.factory('MyService', MyService)
function MyService($http) {
var url = 'URL'';
return {
fetchTotal: function(p) {
return $http.get(url, { params: p })
.then(function(response) {
return response.data.meta.total;
}, function(error) {
console.log("error occured");
})
}
}
}
控制器
$scope.counter = MyService.fetchTotal(params).then(function(response) {
console.log(response);
return response;
});
但出于某种原因,这不起作用。它是控制台记录值,但不将其保存到 $scope.counter
。有什么想法吗?
如果我对你的问题的理解正确,那么你是在设置 $scope.counter
承诺,而不是回应。
MyService.fetchTotal(params).then(function(response) {
// Anything dealing with data from the server
// must be put inside this callback
$scope.counter = response;
console.log($scope.counter); // Data from server
});
// Don't do this
console.log($scope.counter); // Undefined