在我的控制器中,我正在调用一个服务,该服务正在向一个 API 发出一个 http 请求,该 API 返回一个带有我的分析数据的 JSON 文件。
这是我的服务:
.factory('getData', ['$http', function($http) {
return {
getFacebookData: getFacebookData,
};
function getFacebookData(clientName) {
return $http.get('/blah.com/'+clientName)
.then(getDataComplete)
.catch(getDataFailed);
function getDataComplete(response) {
return response.data[0].facebook;
}
function getDataFailed(error) {
console.log(error);
}
}
然后我的控制器像这样调用服务:
.controller('HomeCtrl', function ($scope, $http, getData) {
var clientName = "blah"
getData.getFacebookData(clientName)
.then(function(data) {
console.log("facebook:", data)
});
我遇到的问题是在控制台中,它发出请求并记录数据 6 次。这可能是一个愚蠢的问题,但任何关于它为什么这样做以及如何只提出一次请求的建议都会很棒。