Javascript------for...of...用于异步加载调用的循环事件
对于原生的for循环以及后来较为方便的forEach循环:(这两者相比for循环速度快!!!)
不管里面有回调还是异步接口,都是直接循环完了,一下子(指时间短暂或动作迅速)(指时间短暂或动作迅速)扔给下面的代码!!!
所以对于异步循环,这样子其实就违背了初衷,虽然事件正常执行,但是几乎同时完成了!
实际验证结果如下(附有gif动图,直观查看结果)
通用异步函数,有时间间隔的返回结果(测试函数)
-
const nums = [1, 2, 3, 4, 5]
-
// for...of...循环
-
function powxy(num) {
-
return new Promise(function (resolve, reject) {
-
let timer = setTimeout(() => {
-
resolve(num ** 2)
-
clearTimeout(timer);
-
}, 2000);
-
})
-
}
1. forEach循环试验如下:
-
// forEach
-
nums.forEach(async (num) => {
-
const num1 = await powxy(num)
-
console.log("forEach",num1);
-
})
2. for...of...循环试验如下:
-
// for...of... 会一个一个执行返回结果才会继续执行下一个
-
// 主要用于一些异步的循环使用!!!
-
;(async function () {
-
for (const iterator of nums) {
-
const num2 = await powxy(iterator)
-
console.log("for...of",num2);
-
}
-
})()
想必下次大家使用循环有异步接口调用的时候,肯定知道要用那个会比较优化了吧(
( ̄︶ ̄)~~~
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjjgea
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13