博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
async, await运用
阅读量:4953 次
发布时间:2019-06-12

本文共 1356 字,大约阅读时间需要 4 分钟。

1.async 函数声明及调用方式:

1 // async 函数声明,调用 2 const a1 = async() => { 3     console.log("this is an async function1") 4 }; 5  6 async function a2() { 7     console.log("this is an async function2") 8 } 9 10 a1();11 a2();12 ;(async ()=>{console.log("this is an async function3")})()

 

2.async 函数返回值:async 函数会返回一个Promise对象,所以处理返回值的方式和Promise一毛一样

1 // async 函数返回值2 const b1 = async (arg) => {3     return arg4 }5 var res = b1('hello');6 res.then(resolve=>{console.log(resolve)});

 

3.直接获取async 函数返回值: await

1 // 直接获取 async函数返回值: await需要与 async 函数搭配2 var ret = async (x) => {3     return x4 }5 var solve = async () => {6     var some_ret = await ret('hello,world');7     console.log(some_ret);8 }9 solve();
1 // 也可以直接获取 Promise 返回值2 var solvePromise = async() => {3     var some_ret = await new Promise(resolve=>{4         resolve('hello, world')5     })6     console.log(some_ret);7 }8 solvePromise();

await的作用是 中断当前函数体中语句的执行, 等待await 后 Promise 执行完毕;

4.async 函数串行执行

1 // async 函数串行执行方式2 const a = async() => {3     const b = await (async () => {})()4     const c = await (async () => {})()5 }6 a();

 

5.async 函数并行执行

1 // async 函数并行执行方式2 const a = async () => {3     const b = (async () => {})()4     const c = (async () => {})()5     const b1 = await b;6     const c1 = await c;7 }8 a();9 // b,c 会分别先执行, 在b1 和 c1 变成串行

 

转载于:https://www.cnblogs.com/tatelZhang/p/7822328.html

你可能感兴趣的文章
[常微分方程]Lecture 5: 一阶自治微分方程
查看>>
win7 和 win10窗口的小区别
查看>>
如何迅速成为Java高手[Tomjava原创]
查看>>
《白帽子讲Web安全》- 学习笔记
查看>>
Python的ConfigParser模块读取ini配置文件 报错(持续更新总结)
查看>>
JavaMail转发邮件
查看>>
基于react-native实现的博客园手机客户端强势升级
查看>>
ASP.NET应用程序和ASP.NET网站所共有的文件: App_Browsers 等
查看>>
ASP.NET杂货店实战视频 VS2010+SQL2008 三层架构设计开发讲解
查看>>
样板操作数
查看>>
64位UBUNTU下安装adobe reader后无法启动
查看>>
动态缓存技术之CSI,SSI,ESI
查看>>
16级第二周寒假作业H题
查看>>
mac 上将.pem文件转为.pub文件
查看>>
整理下心情
查看>>
iTextSharp带中文转换出来的PDF文档显示乱码
查看>>
阶乘因式分解(一)
查看>>
qt学习记录-----3.信号与槽的问题
查看>>
『ORACLE』 内置约束(11g)
查看>>
Vue--学习过程中遇到的坑
查看>>