====== 3.3 $timeout ======
El servicio de [[https://docs.angularjs.org/api/ng/service/$timeout|$timeout]] es como el método [[http://www.w3schools.com/jsref/met_win_settimeout.asp|setTimeout()]] de JavaScript. La principal diferencia , a parte de que es un servicio, es que al igual que [[unidades:03_servicios:02_http]] se actualiza la vista al actualizar el modelo desde ''$timeout''.
La función ''$timeout'' soporta 3 parámetros:
* **fn**: La función a llamar cuando acaba el timeout
* **tiempo**: El tiempo en milisegundos que debe pasar para que se llame a la función.
Hay un tercer parámetro pero que no vamos a ver aqui.
Al igual que [[http://www.w3schools.com/jsref/met_win_settimeout.asp|setTimeout()]] se llama una única vez.
====== Ejemplo ======
Veamos ahora un simple ejemplo de este servicio .
¿Se ha producido el evento? {{producidoEvento}}
* Línea 10: Se muestra el valor de la variable ''producidoEvento'' la cual indicará si se ha producido el evento de ''$timeout''.
var app=angular.module("app",[]);
app.controller("PruebaController",['$scope','$timeout',function($scope,$timeout) {
$scope.producidoEvento="NO";
$timeout(function() {
$scope.producidoEvento="SIIIIII";
},3000);
}]);
* Línea 3: Se inyecta el servicio de ''$timeout''
* Línea 6: Se llama a la función de ''$timeout'' y se le pasa nuestra función.
* Línea 7: Se cambia el valor de la variable ''$scope.producidoEvento'' y se actualiza automáticamente la vista.
{{url>http://embed.plnkr.co/FeprPn}}
====== Referencias ======
* [[https://docs.angularjs.org/api/ng/service/$timeout|$timeout]]