Я пытаюсь запросить некоторые данные в службе. Я хочу убедиться, что данные сохранены в переменной службы, так как из-за изменений состояния мой контроллер будет перезагружаться все время, и мне нужны данные только ТОЛЬКО когда загрузка сайта.Получение асинхронных данных из службы
app.service('resultDeals',['$translate','$cookies','$http',
function($translate,$cookies,$http) {
var currentOrigin = {};
var originsUser={};
return {
loadOrigins:function() {
$http.get('app/deals/deal.json').success(function(response){
console.log(response);
originsUser = response.data;
return originsUser
}).error(function(err){
console.log(err);
});
},
userOrigin:originsUser
};
}]);
и мой контроллер выглядит следующим образом
console.log(resultDeals.loadOrigins());
$scope.updateOrigins=resultDeals.loadOrigins();
Проблема заключается в том, что resultDeals.loadOrigins()
всегда не определено.
Я хочу, чтобы сохранить данные, полученные из loadOrigins(), в служебной переменной и только получить доступ к нему из контроллера, когда это необходимо, чтобы при перезагрузке контроллера данные больше не нужно получать.
Как это сделать?
Спасибо за ваш ответ. Это не вернет '$ http.get (...), а затем (...). Ошибка не является функцией?? – Dribel
@ user3383709 потому что '.then' не имеет' .error' метода .. –
абсолютно прав ... спасибо за помощь – Dribel