Суть такая:
Есть Сервис, который делает Get data запрос и сохраняю его в этом же сервисе, типа повторном запросе я проверяю наличие данные и если они есть, я их подставляю вместо повторного запроса, пример:
function getData() {
if (data) {
var defer = $q.defer();
defer.resolve({data: data});
return defer.promise;
}
return ApiWrapper.resolve('get', 'api/data'); // просто врапер который делает запрос
}
Есть модули, в ui-router которых использую resolve:
resolve: {
data: function (MyService) {
return MyService.getData().then(function(response){
if(response && response.data) {
return response.data;
}
}
}
В run блоке происходит Get запрос, использую ui-router resolve, но один из модулей не дожидается присвоенных данных и делает повторный запрос. Как это избежать? И дождатся присвоенных данных