【问题标题】:When using AngularJS's $timeout, what's the default delay?使用 AngularJS 的 $timeout 时,默认延迟是多少?
【发布时间】:2014-04-11 09:53:12
【问题描述】:

在非常简短的AngularJS $timeout documentation page 中,“延迟”参数被声明为可选。在不指定延迟的情况下使用 $timeout 时,我注意到仍然会应用延迟。

谁能告诉我当参数被隐含时,延迟分配了多少时间?

【问题讨论】:

    标签: javascript angularjs timeout


    【解决方案1】:

    默认延迟为 0。此后文档已更新。

    offical angularjs $timeout doc

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        $timeout延迟被省略时,默认为0。但是,其中包含的代码块是在 Angular 操作 DOM 之后执行的。见回复AngularJS $evalAsync vs $timeout

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-01-25
            • 1970-01-01
            • 2016-09-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多