10. Time-out, Interval ve location build in servisleri

Time-out : Time out servisi bir işlemin ertelenerek belli bir süre sonra yapılmasını sağlar. Aşağıdaki kod blogunda timeout içerisine verilen kod 3000ms yani 3sn sonra çalışacak şekilde ayarlanmıştır.

<html>
  <head>
      <script src="~/Scripts/angular.js"></script>
      <script src="~/Scripts/angular-route.js"></script> 

      <script>

        modul.controller("MyController",function($scope ,$timeout) {

        $scope.icerik = "Eski icerik";
        $timeout(function () { $scope.icerik = "icerik degistirildi" }, 3000);

        });

     </script>
</head>
<body ng-app="MyModule" ng-controller="MyController">

{{icerik}}

</body>

</html>

interval servisi : İşlemin belli aralıklarla tekrar edilmesini sağlayan internal servistir.  Aşağıda interval servisi içerisindeki kodun 1000msde bir tekrar edilmesi sağlanmıştır. Yani her saniye değişkene 1 ekleyerek basit bir sayaç oluşturulmuştur

<html>

 <head>

   <script src="~/Scripts/angular.js"></script>
   <script src="~/Scripts/angular-route.js"></script>
   
   <script>

       var modul = angular.module("MyModule", []);

         modul.controller("MyController",function($scope, $interval) {

         $scope.saniye = 0;
         $interval(function() { $scope.saniye = $scope.saniye + 1; }, 1000);

      });
 
   </script>
</head>
<body ng-app="MyModule" ng-controller="MyController">

{{saniye}}

</body>

</html>

location : Sayfa urli üzerinde okumalar yapmak istediğimizde kullandığımız servistir. Belli başlı metotları ve propertyleri aşağıda örneklenmiştir.

<html>

<head>

  <script src="~/Scripts/angular.js"></script>
  <script src="~/Scripts/angular-route.js"></script>
  <script>

    var modul = angular.module("MyModule", []);

    modul.controller("MyController",function($scope ,$location) {

     $scope.sayfaAdresi = $location.absUrl();
     $scope.protokol = $location.protocol();
     $scope.host = $location.host();
     $scope.port = $location.port();
   });

</script>
</head>

<body ng-app="MyModule" ng-controller="MyController">

sayfaAdresi : {{sayfaAdresi}} <br/>
protokol : {{protokol}} <br/>
host : {{host}} <br/>
port : {{port}} <br/>

</body>
</html>