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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用AngularJS的$ timeout时,默认延迟是多少?相关的知识,希望对你有一定的参考价值。

在非常简短的AngularJS $timeout documentation page上,“延迟”论证被认为是可选的。当使用$ timeout而没有指定延迟时,我注意到仍然会应用延迟。

任何人都可以告诉我,当论证被隐含时,延迟分配了多少时间?

答案

省略$timeout延迟时,默认为0。但是,包含在其中的代码块是在Angular操纵DOM之后执行的。查看对AngularJS $evalAsync vs $timeout的回应

另一答案

我的理解是延迟'0'意味着它将作为下一次事件循环运行的一部分被拾取。这是一个特别短暂但不确定的时间。

另一答案

它会立即执行,默认值为零。这是一个jsfiddle显示它:http://jsfiddle.net/dgarlitt/rqs3p/1/

angular
    .module('myApp',[])
        .controller('MyCtrl', function($scope, $timeout) {
            $timeout(function() {
                $scope.name = 'World';
            });
        });
另一答案

默认延迟为0.文档自此更新。

offical angularjs $timeout doc

以上是关于使用AngularJS的$ timeout时,默认延迟是多少?的主要内容,如果未能解决你的问题,请参考以下文章

在AngularJS中停止setTimeout函数(提示:使用$ timeout)

在 routeChange 上取消 AngularJS $timeout

angularjs之$timeout指令

angularjs中的$destroy和$timeout

为啥我会像在 ng-file-upload 示例使用代码中那样在 AngularJS $timeout 服务中包装一个函数,而不会延迟?

AngularJS中$timeout和$interval的用法详解