我已经使用工厂创建了一个角度服务但是当我调用我的服务时,我在浏览器控制台中看到我的服务被调用了两次,我不知道为什么?
这是我的服务代码: enqueteurService.js
'use strict';
appMain.factory('enqueteur', function($http, $log,$q) {
var deffered = $q.defer();
var data = [];
var enqueteur = {};
enqueteur.async = function() {
$http.get('/Gnrqst/enqueteurs/liste-enqueteurs.do')
.success(function (response) {
data = response;
$log.log(response);
deffered.resolve();
});
return deffered.promise;
};
enqueteur.getAllEnqueteurs = function() { return data; };
return enqueteur;
});
这是我的控制器代码: enqueteurController.js
'use strict' ;
appMain.controller('EnqueteurController', ['$scope','$http','$log','enqueteur', function ($scope,$http,$log,enqueteur) {
enqueteur.async().then(function(data) {
$scope.enqueteurs = enqueteur.getAllEnqueteurs();
});
}]);
这是我在jsp页面中使用我的服务的部分:
<tbody>
<tr ng-repeat="enqueteur in enqueteurs">
<td>{{enqueteur.id}}</td>
<td>{{enqueteur.nom}}</td>
<td>{{enqueteur.prenom}}</td>
<td>{{enqueteur.telephone}}</td>
<td>{{enqueteur.email}}</td>
</tr>
</tbody>
我的脚本是:
<script src="<c:url value="/resources/js/angular.js" />"></script>
<!-- ui-bootstrap js -->
<script src="<c:url value="/resources/js/ui-bootstrap.js" />"></script>
<!-- App js -->
<script src="<c:url value="/resources/js/app.js" />"></script>
<!-- enqueteur services js -->
<script src="<c:url value="/resources/js/services/enqueteurService.js" />"></script>
<!-- enqueteurController js -->
<script src="<c:url value="/resources/js/enqueteurController.js" />"></script>
我的代码效果很好,但在浏览器控制台中,我看到我的服务被调用了两次?有人可以向我解释原因吗?
这是控制台日志: