在非常简短的AngularJS $timeout documentation page上,'delay'参数被声明为可选。当使用$ timeout而没有指定延迟时,我注意到仍然会应用延迟。
有人可以告诉我,当参数被隐含时,延迟分配了多少时间?
答案 0 :(得分:9)
省略$timeout
延迟时,默认为0
。但是,包含在其中的代码块是在Angular操纵DOM之后执行的。请参阅对AngularJS $evalAsync vs $timeout
答案 1 :(得分:6)
我的理解是延迟'0'意味着它将作为下一次事件循环运行的一部分被拾取。这是一个特别短暂但不确定的时间。
答案 2 :(得分:2)
立即执行,默认为零。这是一个jsfiddle显示它: http://jsfiddle.net/dgarlitt/rqs3p/1/
angular
.module('myApp',[])
.controller('MyCtrl', function($scope, $timeout) {
$timeout(function() {
$scope.name = 'World';
});
});
答案 3 :(得分:2)
默认延迟为0.文档自此更新。