Я использую данные из службы RESTful на нескольких страницах. Поэтому я использую для этого фабрики angular. Итак, мне нужно было получить данные один раз с сервера, и каждый раз, когда я получаю данные с помощью этой определенной службы. Прямо как глобальные переменные. Вот образец:
var myApp = angular.module('myservices', []);
myApp.factory('myService', function($http) {
$http({method:"GET", url:"/my/url"}).success(function(result){
return result;
});
});
В моем контроллере я использую эту службу как:
function myFunction($scope, myService) {
$scope.data = myService;
console.log("data.name"+$scope.data.name);
}
Он отлично работает для меня в соответствии с моими требованиями. Но проблема в том, что когда я перезагружаю свою веб-страницу, служба снова вызывается и запрашивает сервер. Если в промежутке выполняется какая-то другая функция, которая зависит от «определенной службы», она выдает ошибку типа «что-то не определено». Поэтому я хочу подождать в своем скрипте, пока служба не загрузится. Как я могу это сделать? Есть ли способ сделать это в angularjs?