====== 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]]