【问题标题】:AngularJS foreach delay loopAngularJS foreach 延迟循环
【发布时间】:2016-04-05 09:57:31
【问题描述】:

我想在我的angular.foreach 循环中使用延迟。我有一个列表,我想以 2 秒的周期一个一个地显示它们。

 angular.forEach(vm.SimulationResult, function (value, key) {
                    timeout2 = $timeout(function () {
                        vm.Alerts.push({ msg: value.MainStatus });
                    }, 2000);
                });

我该怎么办?

【问题讨论】:

标签: angularjs loops foreach timeout


【解决方案1】:

利用 $timeout 返回一个 Promise 并将 Promise 链接在一起的事实,以便每个人启动另一个 Promise 超时,这将推送下一个警报:

let promise = $timeout();
angular.forEach(vm.SimulationResult, function(value, key) {
     promise = promise.then(function() {
         vm.Alerts.push({ msg: value.MainStatus });
         return $timeout(2000);
     });
});

(确保您的 Angular 版本是最新的,因为旧版本不允许您在超时时省略回调函数)

【讨论】:

  • 为我工作(AngularJS 1.5.8)
  • 也为我工作
  • 不错!使用 Angular 1.6.2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 2020-04-25
相关资源
最近更新 更多