【问题标题】:AngualrJS Conditional or Dynamic DelaysAngularJS 条件或动态延迟
【发布时间】:2016-04-14 12:33:31
【问题描述】:

伙计们,我想在 AngularJS 中进行有条件或动态延迟。 我知道我们可以使用timeout 进行固定的时间延迟,我想要的是让它像下面这样动态,如果条件不满足而不是等待更多:

var time =500;
$timeout(function(){
                 if(success==false){
                      time =5000;
                  }
                },time);

如果条件不满足,那么延迟会增加。其实我想等数据加载完毕。

【问题讨论】:

    标签: javascript jquery angularjs timeout logic


    【解决方案1】:

    使用$timeout(或setTimeout,不考虑角度)会立即注册延迟执行的回调函数,因此在回调中更改“time”变量的值不会影响实际延迟。

    如果您正在等待数据加载,您还有其他选择,例如使用 Promise,在 Angular 中您可以使用 $q 服务 - https://docs.angularjs.org/api/ng/service/$q 并在数据可用后解决承诺

    如果您使用的是 UI-router,另一个选择是使用状态的“resolve”属性,以确保在切换到状态之前加载数据。

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 2015-03-08
      • 2015-01-31
      • 2018-10-17
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      相关资源
      最近更新 更多