async/await 顺序执行和并行
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 顺序执行和并行相关推荐
- 理解 async/await 的执行
这是一篇简单的短文章,方便理解. 开局先丢官宣:sec-async-function-definitions 这个链接是对 await 的解释,解释了它的执行. await 的执行意味着(官宣巴拉巴拉 ...
- node.js async/await 继发执行与并发执行
async/await 继发执行与并发执行,看如何控制 两个异步函数 foo bar function foo() {return new Promise((resolve, reject) => ...
- setTimeout、setInterval、promise、async/await的顺序详解(多种情况,非常详细~)
本文很长,列举的情况很多. 在阅读本文之前,如果您有充足的时间,请新建一个项目与本文一同实践. 每段代码都有对应的解释,但是自己动手尝试印象才会更深哦~ setInterval:表示多久执行一次,需要 ...
- await js 报错_js async/await
一.async 带async关键字的函数,是声明异步函数,返回值是promise对象,如果async关键字函数返回的不是promise,会自动用Promise.resolve()包装. asyncfu ...
- ajax如何循环lis,关于js中循环遍历中顺序执行多个嵌套ajax的问题
就是业务上需要完成一个功能,这个功能需要依次调用四个接口,后面接口的参数都依赖于前一个接口的返回值. 类似这样: var objArr = "从其他逻辑获得"; for(var n ...
- 动态加载js如何保证顺序执行?
我们知道,可以使用创建script标签的方法来动态加载js文件. 但随之带来问题,如果创建多个script标签来加载多个js文件,这些文件是异步并行加载的,默认添加了async属性,最后执行顺序不能保 ...
- 【JS】1015- 异步编程的终极解决方案 async/await
早期的回调函数 回调函数我们经常有写到,比如: ajax(url, (res) => {console.log(res); }) 复制代码 但是这种回调函数有一个大缺陷,就是会写出 回调地狱(C ...
- 8张图让你一步步看清 async/await 和 promise 的执行顺序
2019独角兽企业重金招聘Python工程师标准>>> **摘要:**面试必问 原文:8张图帮你一步步看清 async/await 和 promise 的执行顺序 作者:ziwei3 ...
- vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用
vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用 异步解决方案:async/await 多个await,同步拿到数据再处理 多个接口处理拿到数 ...
最新文章
- linux下修复bash漏洞
- 天翼云从业认证(3.2)天翼云存储产品
- POJ 1789248512583026
- private-bower
- nvprof 使用记录; 以及使用 nvprof 查看tensorflow-gpu 核函数运行记录
- python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统
- PHP SOCKET SERVER 二
- UE编辑器修改背景theme
- 火狐浏览器 android版,火狐浏览器手机版
- windows cmd批处理终端 快速编辑模式
- Project甘特图使用方法
- 中英文说明书丨艾美捷HEK293T宿主细胞蛋白ELISA试剂盒
- 量子计算机生命,量子计算机上量子人工生命模型 - 酷酷UFO
- H.265及最新芯片模组技术现状和研究方向
- 正则的懒惰性和贪婪性、正则与字符串
- 新版kettle学习
- 足球队巡礼 - 英超西汉姆联
- 各代iPhone iPad 内部代号 Hardware Model
- c语言今天是星期天,今天是星期天作文400字
- Less or Equal
热门文章
- Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放
- 基于JavaScript实现配对游戏
- MSP430杂谈--AD7793硬件SPI驱动与模拟SPI驱动
- 搞不定的C语言--extern的作用
- 关于OpenCV中IplImage的字节对齐问题
- 网页遥控室内智能设备
- php之time的用法,php中time()与$_SERVER[REQUEST_TIME]用法区别
- JAVA 搭建基于SPRINGBOOT的SSM(SPRING + SPRINGMVC + MYBATIS)的MAVEN项目
- DistributionDB过大的原因
- 诗与远方:无题(八十二)- 遇到你真好