养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

JS中如何解决for循环中的延迟执行问题

时间:2024-10-20 08:35:46

我们胆咣骜岱编写JS的时候经常会在for循环中执行一些异步方法,比如设置一个定时器任务,但是通常在这些异步方法中没有办法获取循环变量的值。这该怎么做呢?下面小编给搭建分享一下。

工具/原料

SublimeText

方法/步骤

1、首先我们打开SublimeText软件,新建一个HTML的文档,如下图所示

JS中如何解决for循环中的延迟执行问题

2、接下来在html中添加JS方法,在JS方法里面设置一个for循环,输出每次循环的值,如下图所示

JS中如何解决for循环中的延迟执行问题

3、然后我们运行程序,你会看到在输出栏中输出了10次10,而并没有从1开始输出,如下图所示

JS中如何解决for循环中的延迟执行问题

4、接下来我们更改一下for循环中的逻辑,利用闭包将i的值传递给a,如下图所示

JS中如何解决for循环中的延迟执行问题

5、这次在运行程序我们就可以看到输出内容是1开始输出了,如下图所示

JS中如何解决for循环中的延迟执行问题

6、另外,在JS中刚才的写法还可以按照下面的方式实现,如下图所示

JS中如何解决for循环中的延迟执行问题

7、综上所述,在JS中如果for循环中有异步方法,就需要用闭包的方式保留当前循环变量值,是不是很简单啊

© 一点知识