function fn (time) {return new Promise((resolve, reject) => {setTimeout(() => {resolve(`${time}毫秒后我执行!!!`)}, time)})
}fn(3000).then(res => console.log(res))
fn(1000).then(res => console.log(res))
fn(2000).then(res => console.log(res))结果是1000毫秒后我执行!!!
2000毫秒后我执行!!!
3000毫秒后我执行!!!

如果需要输出的顺序是

1000毫秒后我执行!!!

3000毫秒后我执行!!!

2000毫秒后我执行!!!

首先想到的是async await 实现是可以的 但是会有缺陷如果有好几十个promise或者异步任务 就会写相应数量的 await 代码量变得庞大 臃肿所以使用 for await of 来实现

methods: {fn(time) {return new Promise((resolve, reject) => {setTimeout(() => {resolve(`${time}毫秒后我成功啦!!!`);}, time);});},async asyncFn() {// const data2 = await this.fn(3000);// console.log(data2);// const data1 = await this.fn(1000);// console.log(data1);const arr = [this.fn(3000),this.fn(1000),this.fn(1000),this.fn(2000),this.fn(500),];for await (let x of arr) {//输出的是一个promiseconsole.log(x);}},},mounted() {this.asyncFn();},

for await of使用相关推荐

  1. setTimeout、setInterval、promise、async/await的顺序详解(多种情况,非常详细~)

    本文很长,列举的情况很多. 在阅读本文之前,如果您有充足的时间,请新建一个项目与本文一同实践. 每段代码都有对应的解释,但是自己动手尝试印象才会更深哦~ setInterval:表示多久执行一次,需要 ...

  2. Await, and UI, and deadlocks! Oh my!

    It's been awesome seeing the level of interest developers have had for the Async CTP and how much us ...

  3. await使用中的阻塞和并发(一)

    好吧,不加点陈述不让发首页.那我们来陈述一下本篇提到的问题和对应的方法. 在.NET4.5中,我们可以配合使用async和await两个关键字,来以写同步代码的方式,实现异步的操作. 好处我目前看来有 ...

  4. C# async await 学习笔记2

    C# async await 学习笔记1(http://www.cnblogs.com/siso/p/3691059.html) 提到了ThreadId是一样的,突然想到在WinForm中,非UI线程 ...

  5. promise 和 async await区别

     什么是Async/Await? async/await是写异步代码的新方式,以前的方法有回调函数和Promise. async/await是基于Promise实现的,它不能用于普通的回调函数. as ...

  6. 快速学习 async await 的使用, Demo 解析

    async 和 await 字面都很好理解,分别是异步和等待. 来两个简单的 demo, demo1 tt2(){return new Promise(rps=>{setTimeout(() = ...

  7. angular2 学习笔记 ( Rxjs, Promise, Async/Await 的区别 )

    Promise 是 ES 6 Async/Await 是 ES 7 Rxjs 是一个 js 库 在使用 angular 时,你会经常看见这 3 个东西. 它们都和异步编程有关,有些情况下你会觉得用它们 ...

  8. python async await报错_Python 3.7.7 发布 支持async并await现在为保留关键字

    Python 3.7.7 发布了,这是一个 bug 修复版本.2020 年中之前将持续更新 3.7 系列的 bug 修复版本,并直到 2023 年中之前持续提供安全修复版本. 目前 3.8 已经是最新 ...

  9. async await:比requests 更强大

    最近公司 Python 后端项目进行重构,整个后端逻辑基本都变更为采用"异步"协程的方式实现.看着满屏幕经过 async await(协程在 Python 中的实现)修饰的代码,我 ...

  10. JavaScript 异步编程--Generator函数、async、await

    JavaScript 异步编程–Generator函数 Generator(生成器)是ES6标准引入的新的数据类型,其最大的特点就是可以交出函数的执行的控制权,即:通过yield关键字标明需要暂停的语 ...

最新文章

  1. 支付系统的对账处理与设计--转
  2. go语言复数包_go语言学习之包和变量详解
  3. 深入理解Tomcat和Jetty源码之第四篇tomcat系统架构上:容器是如何设计的
  4. 生成word_Word如何生成目录?3个步骤轻松掌握!
  5. 从定义到AST及其遍历方式,一文带你搞懂Antlr4
  6. 【模板】ISAP最大流
  7. 第九天 面试失败了。。。。
  8. 在某软国际的那些日子
  9. 力扣刷题 DAY_69 回溯
  10. ios系统软件迁移到安卓_苹果一键换机到安卓(苹果安卓一键迁移的软件)
  11. 亚马逊买家号注册流程
  12. Python神器!只需一行代码,纯文本秒变Markdown!
  13. linux添加五笔输入法,在Ubuntu16.04中为fctix小企鹅增加五笔输入法
  14. 把云之讯音视频Demo从Eclipse转到AndroidStudio上
  15. JDO和JPA的区别是什么
  16. ROS wiki 上包的目录列表
  17. free NAS安装使用
  18. 计算机英语考试范围,2011.12月份。牡师院计算机系英语考试题范围(翻译)
  19. 2021-09-13
  20. SqlServer订单表和订单明细表典型案例

热门文章

  1. OSGi跨bundle调用,jaxb-impl异常
  2. 10分钟读懂什么是容器云?
  3. 计算机的基本组成及工作原理(1)
  4. Java 写数据到文件
  5. 360浏览器收藏夹导出问题终极解决方案
  6. REST 接口 原文翻译
  7. BLAM源码解析(五)—— 回环检测
  8. <笔记>Long and Short -Term Recommendations with Recurrent Neural Networks
  9. 关于LAMMPS能量最小化
  10. 2019上海埃森哲软件开发面试