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

 更新时间:2018年10月12日 09:04:15   投稿:mrr  
async / await是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案。这篇文章主要介绍了在JS循环中使用async/await的方法,需要的朋友可以参考下

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的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • javascript中打印当前的时间实现思路及代码

    javascript中打印当前的时间实现思路及代码

    打印当前的时间的方法有很多,在本文为大家详细介绍下使用javascript是如何做到的,具体实现如下,感兴趣的朋友可以参考下
    2013-12-12
  • jsonp实现百度下拉框功能的方法分析

    jsonp实现百度下拉框功能的方法分析

    这篇文章主要介绍了jsonp实现百度下拉框功能的方法,结合实例形式分析了调用百度接口jsonp实现跨域请求及内容渲染相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • js实现点击链接后窗口缩小并居中的方法

    js实现点击链接后窗口缩小并居中的方法

    这篇文章主要介绍了js实现点击链接后窗口缩小并居中的方法,实例分析了javascript操作窗口的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • js 发布订阅模式的实例讲解

    js 发布订阅模式的实例讲解

    下面小编就为大家带来一篇js 发布订阅模式的实例讲解。小编觉得挺不错的,现在就想给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • js词法作用域与this实例详解

    js词法作用域与this实例详解

    作用域值一个变量的作用饿范围,下面这篇文章主要给大家介绍了关于js词法作用域与this的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 原生JS封装拖动验证滑块的实现代码示例

    原生JS封装拖动验证滑块的实现代码示例

    这篇文章主要介绍了原生JS封装拖动验证滑块的实现代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • JS如何实现Base64编码和解码(及中文乱码问题)

    JS如何实现Base64编码和解码(及中文乱码问题)

    这篇文章主要给大家介绍了关于JS如何实现Base64编码和解码及中文乱码问题的相关资料,Base64编码是一种常用的将二进制数据转换为文本数据的方式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 原生js实现class的添加和删除简单代码

    原生js实现class的添加和删除简单代码

    下面小编就为大家带来一篇原生js实现class的添加和删除简单代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Javascript实现找不同色块的游戏

    Javascript实现找不同色块的游戏

    先给大家说下游戏规则:在变化数量的颜色块里找出一个不同颜色的块点击。下面通过js代码给大家分享找不同色块的游戏实现方法,需要的朋友参考下吧
    2017-07-07
  • 原生微信小程序/uniapp使用空格占位符无效的解决办法

    原生微信小程序/uniapp使用空格占位符无效的解决办法

    最近需要在字体中间加空白占位符,在尝试使用 之后,还是不能使用,下面这篇文章主要给大家介绍了关于原生微信小程序/uniapp使用空格占位符无效的解决办法,需要的朋友可以参考下
    2023-02-02

最新评论