数码资讯
js实现异步循环实现代码
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
问题
当实现异步循环时,可能会遇到问题。
让我们尝试编写一个异步方法,在循环中打印一个周期的索引值。
对于(var i = 0;i < 5;i + +){
setTimeout(){()函数(
Document.writeln(我);document.writeln();
},1000);
}
上述程序的输出如下所示:
五
五
五
五
五
原因
每个时间(超时)的结束指向原来的i,而不是它的副本。因此for循环将i增加到5,然后超时运行并调用当前i值(即,5)。
解决方法
复制I有几种不同的方法。最常用和最常用的方法是通过声明函数并将i传递给这个函数来建立闭包。
运行代码
对于(var i = 0;i < 5;i + +){
(函数(数字){
setTimeout(){()函数(
document.writeln(努姆);document.writeln();
},1000);
})(一);
}
输出
零
一
二
三
四
当实现异步循环时,可能会遇到问题。
让我们尝试编写一个异步方法,在循环中打印一个周期的索引值。
对于(var i = 0;i < 5;i + +){
setTimeout(){()函数(
Document.writeln(我);document.writeln();
},1000);
}
上述程序的输出如下所示:
五
五
五
五
五
原因
每个时间(超时)的结束指向原来的i,而不是它的副本。因此for循环将i增加到5,然后超时运行并调用当前i值(即,5)。
解决方法
复制I有几种不同的方法。最常用和最常用的方法是通过声明函数并将i传递给这个函数来建立闭包。
运行代码
对于(var i = 0;i < 5;i + +){
(函数(数字){
setTimeout(){()函数(
document.writeln(努姆);document.writeln();
},1000);
})(一);
}
输出
零
一
二
三
四
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。