При использовании $ 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';
});
});