js实现异步循环实现代码
js实现异步循环实现代码
发布时间:2016-02-22 来源:查字典编辑
摘要:问题实现异步循环时,你可能会遇到问题。让我们试着写一个异步方法,一次循环打印一次循环的索引值。如上程序的输出为:55555原因每次时间结束(...

问题
实现异步循环时,你可能会遇到问题。

让我们试着写一个异步方法,一次循环打印一次循环的索引值。

如上程序的输出为:

5 5 5 5 5

原因

每次时间结束(timeout)都指向原始的i,而并非它的拷贝。所以,for循环使i增长到5,之后timeout运行并调用了当前i的值(也就是5)。

解决方法

有几个不同的方式可以拷贝i。最普通且常用方法是通过声明函数来建立一个闭包,并将i传给此函数。我们这里使用了自调用函数。

运行代码

输出

0
1
2
3
4

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类