在JS循环中使用async/await的方法

作者:mrr 时间:2024-05-02 16:19:14 

async / await是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案。目前,async / await这个特性已经是stage 3的建议,可以看看TC39的进度,本篇文章将分享在JS循环中使用async/await的方法.

在开发maty.js时,遇到一个数组任务,数组项是内部异步执行的函数,期望是同步依次执行每项函数,每项函数执行完本身的异步任务后,继续下一项。

刚开始单纯使用map来循环执行,并且await每项函数。如下所示:


starters.map(async (fn, i)=> {
console.log('++++++++++: ', i)
await fn(ctx);
});

结果是依次先输出了索引i,而不是阻塞每次循环,按期望执行。

搬出Google * ,可以看出对在 for…of 循环语法中使用await是有效的。


for (const fn of starters) {
await fn(ctx);
}

同时文章中指出使用Promise.all,是无法解决当前问题的,因为all方法是并行运行的。很奇怪为什么没有串行执行的原生方法。

总结

以上所述是小编给大家介绍的在JS循环中使用async/await的方法网站的支持!

来源:http://cssor.com/javascript-loops-how-to-handle-async-await.html

标签:js,await,async
0
投稿

猜你喜欢

  • ASP获取ACCESS数据库的表名以及表名对应的字段名和字段类型

    2009-12-25 18:57:00
  • python读取json数据还原表格批量转换成html

    2023-11-19 05:46:20
  • Python常见数据结构详解

    2021-10-28 22:07:33
  • 一场关于YUI3/jQuery的精彩辩论

    2010-11-11 12:50:00
  • Python各类图像库的图片读写方式总结(推荐)

    2021-05-20 00:50:22
  • 谈ASP的未来

    2009-03-24 20:35:00
  • 详解基于python的全局与局部序列比对的实现(DNA)

    2021-03-29 13:23:31
  • python如何从键盘获取输入实例

    2021-02-21 07:21:47
  • 深入理解Java线程编程中的阻塞队列容器

    2024-05-13 10:37:58
  • python设置表格边框的具体方法

    2023-11-13 08:08:48
  • Python数据可视化库seaborn的使用总结

    2022-08-07 11:43:04
  • HTML5 Canvas 起步(3) - 颜色与渐变

    2009-06-08 12:58:00
  • Python中Matplotlib的点、线形状、颜色以及绘制散点图

    2023-06-11 00:32:26
  • 解决无法配置SQL2005问题

    2024-01-22 15:56:51
  • Go slice切片使用示例详解

    2023-07-09 12:07:02
  • 浅析javascript中函数声明和函数表达式的区别

    2024-05-09 10:33:14
  • ASP|HTML]单引与双引号

    2008-03-12 11:42:00
  • php+js实现倒计时功能

    2023-11-12 17:16:29
  • Python Web框架Tornado运行和部署

    2021-04-14 09:17:57
  • 使用python 进行区间取值的方法

    2023-12-17 01:27:56
  • asp之家 网络编程 m.aspxhome.com