【发布时间】:2014-04-11 09:53:12
【问题描述】:
在非常简短的AngularJS $timeout documentation page 中,“延迟”参数被声明为可选。在不指定延迟的情况下使用 $timeout 时,我注意到仍然会应用延迟。
谁能告诉我当参数被隐含时,延迟分配了多少时间?
【问题讨论】:
标签: javascript angularjs timeout
在非常简短的AngularJS $timeout documentation page 中,“延迟”参数被声明为可选。在不指定延迟的情况下使用 $timeout 时,我注意到仍然会应用延迟。
谁能告诉我当参数被隐含时,延迟分配了多少时间?
【问题讨论】:
标签: javascript angularjs timeout
默认延迟为 0。此后文档已更新。
【讨论】:
立即执行,默认为零。这是一个显示它的jsfiddle: http://jsfiddle.net/dgarlitt/rqs3p/1/
angular
.module('myApp',[])
.controller('MyCtrl', function($scope, $timeout) {
$timeout(function() {
$scope.name = 'World';
});
});
【讨论】:
当$timeout延迟被省略时,默认为0。但是,其中包含的代码块是在 Angular 操作 DOM 之后执行的。见回复AngularJS $evalAsync vs $timeout
【讨论】:
我的理解是,延迟为“0”意味着它将作为事件循环的下一次运行的一部分被拾取。这是一段特别短但不确定的时间。
【讨论】: