for循环中settimemout()失效的解决办法

2019-12-20  本文已影响0人  雅雅的前端工作学习

出现此问题是因为timeout是一种类似于异步的函数,timeout中的函数还未执行时,for循环已经结束了,当指定的1秒过完,timeout中的函数才开始出发,而此时10个settimeout中的函数同时执行,故而同时打印出i,解决方法如下

                  var time=1000
                  for (let i=0;i<10;i++){
                        time+=1000;
                        setTimeout(function () {
                            console.log(i);
                        },time)
                    }
上一篇下一篇

猜你喜欢

热点阅读