当前位置:AngularJS API / ng / 服务(service) / $timeout

ng

window.setTimeout的Angular包装形式。Fn函数包装成一个try/catch块,代表$exceptionHandler服务里的任何异常。

timeout函数的返回值是一个promise,当到达设置的超时时间时,这个承诺将被解决,并执行timeout函数。

需要取消timeout,需要调用$timeout.cancel(promise);


用法

$timeout(fn,[delay],[invokeApply],[Pass]);

参数 类型 描述
fn(可选) function()= 一个将被延迟执行的函数。
delay(可选) num 延迟的时间(毫秒)。
invokeApply(可选) boolean 如果设置为false,则跳过脏值检测,否则将调用$apply。
Pass(可选) * 执行的函数的附加参数。

方法

cancel(promise);

取消与承诺相关联的任务。这个的结果是,承诺将被以摒弃方式来解决。

参数 类型 描述
promise Promise $timeout函数返回的承诺。

示例

(function () {
	angular.module("Demo", [])
	.controller("testCtrl",["$timeout",testCtrl]);
	function testCtrl($timeout){
	  var toDo = function () {
		  console.log("Hello World");
	  };
	  $timeout(toDo,5000)
	};
}());