首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular:有人知道如何在Angular中延迟for循环吗?

问Angular:有人知道如何在Angular中延迟for循环吗?
EN

Stack Overflow用户
提问于 2020-05-13 08:49:26
回答 2查看 320关注 0票数 0

我正在尝试在Angular上创建一个排序可视化工具,于是我决定使用chart.js条形图。我现在正在尝试可视化冒泡排序,我想在内部循环的每次迭代中添加一个延迟。我相信你对冒泡排序的循环结构很熟悉。我想要进行比较,然后调用我创建的绘制函数来绘制更新后的图表,然后在0.5秒的延迟后,进入下一次迭代。

代码语言:javascript
复制
for (let i = 0; i < this.data.length; i++) {

      for (let j = 0; j < this.data.length; j++) {
          //comparison
            this.draw();
          // 0.5 SECOND DELAY
      }

}
EN

回答 2

Stack Overflow用户

发布于 2020-05-13 09:00:06

我确信有比这更好的方法来管理javascript中的事件循环,但我会让您开始: jsfiddle:https://jsfiddle.net/zdfo5tce/

代码语言:javascript
复制
var data=[1,2,3,4,5]
var counter=0
let draw=(c) => document.body.innerHTML=c;

for (let i = 0; i < this.data.length; i++) {

      for (let j = 0; j < this.data.length; j++) {
          //comparison
            setTimeout(draw.bind(this, counter), ++counter*500);
          // 0.5 SECOND DELAY
      }

}
票数 0
EN

Stack Overflow用户

发布于 2020-05-13 09:01:35

这将使每次迭代延迟500毫秒

代码语言:javascript
复制
for (let i = 0; i < this.data.length; i++) {
      for (let j = 0; j < this.data.length; j++) {
           setTimeout(function(){
             this.draw();
}, 500 *j);
      }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61764494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档