При использовании $ timeout AngularJS, какова задержка по умолчанию?

на удивление краток AngularJS $timeout страница документации, аргумент' delay ' указывается как необязательный. При использовании $ timeout без указания задержки я отмечаю, что задержка все еще применяется.

может ли кто-нибудь сказать мне, сколько времени отводится на задержку, когда аргумент остается неявным?

4 ответов


, когда $timeout задержка опущена, по умолчанию 0. Однако блок кода, содержащийся в нем, выполняется после того, как DOM был обработан Angular. См. ответ на AngularJS $evalAsync против $ 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