Bir RESTful hizmetinden gelen bazı verileri birden çok sayfada kullanıyorum. Bu yüzden bunun için köşeli fabrikalar kullanıyorum. Bu nedenle, verileri sunucudan bir kez almak zorunda kaldım ve her seferinde verileri bu tanımlı hizmetle alıyorum. Tıpkı küresel değişkenler gibi. İşte örnek:
var myApp = angular.module('myservices', []);
myApp.factory('myService', function($http) {
$http({method:"GET", url:"/my/url"}).success(function(result){
return result;
});
});
Denetleyicimde bu hizmeti şu şekilde kullanıyorum:
function myFunction($scope, myService) {
$scope.data = myService;
console.log("data.name"+$scope.data.name);
}
Gereksinimlerime göre benim için iyi çalışıyor. Ancak buradaki sorun şu ki, web sayfamı yeniden yüklediğimde servis tekrar aranıyor ve sunucu için talepte bulunacak. Aralarında "tanımlı hizmete" bağlı olan başka bir işlev çalıştırılırsa, "bir şey" tanımsız gibi bir hata verir. Bu yüzden servis yüklenene kadar komut dosyamda beklemek istiyorum. Bunu nasıl yapabilirim? Bunu angularjs'de zaten var mı?