В идеале насоклько я понимаю, резолв должен срабатывать только при переходе на определенный стейт, к которому соответственно этот резолв и привязан.
у меня галпом все собирается в один файл, и при инициализации срабатывает, потом при переходе на другой стэйт, срабатывает его резолв еще раз. Получается запросы отправляются по два раза.
Для примера скинул стэйт
.state('events.feed', {
url: '/feed',
templateUrl: "/views/events/feed.html",
controller: "eventsFeedController",
resolve: {
position: function($geolocation, appRestAPI) {
console.log('Call POS from FEED');
var coords = [];
return $geolocation.getCurrentPosition().then(function(position) {
coords[0] = position.coords.latitude;
coords[1] = position.coords.longitude;
return coords;
}).catch(function(err){
coords[0] = appRestAPI.testCoords.lat;
coords[1] = appRestAPI.testCoords.lng;
return coords;
})
},
events: function(eventsService, position) {
debugger;
console.log('Call from FEED');
return eventsService.getEvents(position).then(function(data) {
return data.data.events;
})
}
}
})