使用AngularJS的$ timeout时,默认延迟是多少?

时间:2014-03-08 01:34:45

标签: javascript angularjs timeout

在非常简短的AngularJS $timeout documentation page上,'delay'参数被声明为可选。当使用$ timeout而没有指定延迟时,我注意到仍然会应用延迟。

有人可以告诉我,当参数被隐含时,延迟分配了多少时间?

4 个答案:

答案 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.文档自此更新。

offical angularjs $timeout doc