async function asyncAwaitFn(num) {
  return await new Promise((resolve, reject) => {
    setTimeout(() => {
      console.log(num)
      resolve(num+1)
    }, 1000);
  })
}

const serialFn = async () => { //串行执行

console.time('serialFn')

  let rest1=await asyncAwaitFn(1)

  let rest2=await asyncAwaitFn(rest1) //将res1的结果作为参数

console.timeEnd('serialFn')
}

const paralle=async()=>{//并行执行

  console.time('paralle')

  await Promise.all([asyncAwaitFn(1), asyncAwaitFn(2)])

  console.timeEnd('paralle')

}

serialFn();

paralle();

//1
//1
//2
//paralle: 1001.81005859375ms
//2
//serialFn: 2003.39208984375ms

串行的函数要等上个异步执行完在执行,这样可以用到上一步返回的结果,如果不需要上一个函数的结果,单纯的串行可是可以的,不需要写返回句柄

并行的函数不需要等上个函数执行完毕,同时进行

转载于:https://www.cnblogs.com/pingpingdejia/p/10944157.html

async/await 顺序执行和并行相关推荐

  1. 理解 async/await 的执行

    这是一篇简单的短文章,方便理解. 开局先丢官宣:sec-async-function-definitions 这个链接是对 await 的解释,解释了它的执行. await 的执行意味着(官宣巴拉巴拉 ...

  2. node.js async/await 继发执行与并发执行

    async/await 继发执行与并发执行,看如何控制 两个异步函数 foo bar function foo() {return new Promise((resolve, reject) => ...

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

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

  4. await js 报错_js async/await

    一.async 带async关键字的函数,是声明异步函数,返回值是promise对象,如果async关键字函数返回的不是promise,会自动用Promise.resolve()包装. asyncfu ...

  5. ajax如何循环lis,关于js中循环遍历中顺序执行多个嵌套ajax的问题

    就是业务上需要完成一个功能,这个功能需要依次调用四个接口,后面接口的参数都依赖于前一个接口的返回值. 类似这样: var objArr = "从其他逻辑获得"; for(var n ...

  6. 动态加载js如何保证顺序执行?

    我们知道,可以使用创建script标签的方法来动态加载js文件. 但随之带来问题,如果创建多个script标签来加载多个js文件,这些文件是异步并行加载的,默认添加了async属性,最后执行顺序不能保 ...

  7. 【JS】1015- 异步编程的终极解决方案 async/await

    早期的回调函数 回调函数我们经常有写到,比如: ajax(url, (res) => {console.log(res); }) 复制代码 但是这种回调函数有一个大缺陷,就是会写出 回调地狱(C ...

  8. 8张图让你一步步看清 async/await 和 promise 的执行顺序

    2019独角兽企业重金招聘Python工程师标准>>> **摘要:**面试必问 原文:8张图帮你一步步看清 async/await 和 promise 的执行顺序 作者:ziwei3 ...

  9. vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用

    vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用 异步解决方案:async/await 多个await,同步拿到数据再处理 多个接口处理拿到数 ...

最新文章

  1. 灵魂拷问:你看过Xgboost原文吗?
  2. 3D视觉工坊中秋国庆贺礼!
  3. centos 安装git_开源物联网MQTT 5.0服务器——EMQ安装及运行教程
  4. 谷歌创始人“退位”,印度CEO独挑大梁
  5. 什么是SCADA Viewer
  6. SUDO的环境变量为何不同?
  7. esp32树莓派_用 ESP32 制造炫彩 LED 球
  8. ifix如何设画面大小_天涯明月刀手游研发揭秘:如何做出有“豪华感”的国风MMO大世界?...
  9. idea创建springcloud主工程和springboot子项目
  10. LintCode 1915. 举重(01背包)
  11. java反射jdk1.8,Java基础----jdk1.8 反射实验
  12. MySQL笔记-MDL锁(metadata lock)
  13. hadoopsdk使用_使用 IDEA 搭建 Hadoop3.1.1 项目
  14. [转载]MySQL各类SQL语句的加锁机制
  15. CherryPy 入门
  16. 安腾机器IA64 全自动网络安装Linux - elilo+kickstart
  17. 《OpenGL编程指南》第8版 第9版 VS2015 VS2017配置方法
  18. Chango的数学Shader世界(十六)RayTrace三维分形(一)—— ue4中最简单的RayMarch
  19. html中动态添加元素属性值,JavaScript实现动态添加、移除元素或属性的方法分析...
  20. DSN格式转SCH格式

热门文章

  1. SQL存储过程:取出自定义条数的数据
  2. koa2 仿知乎笔记
  3. 关于用jQuery实现的checkbox全选和反选功能
  4. JAVA实现在线聊天室(层层递进)
  5. 入门机器学习(九)--应用机器学习的建议
  6. AT指令联网---以鸿蒙开发板为例
  7. C程序语言表达式运算顺序,详解C++编程中表达式的语义与计算顺序
  8. linux usb驱动u盘启动不了,Linux环境下USB的原理、驱动和配置(4)
  9. linux root密码激活,Linux - root初始密码设置
  10. 如何创建一个简单 APT 仓库