博客
关于我
使用async、await改善异步代码
阅读量:314 次
发布时间:2019-03-04

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

web开发经常用到异步编程,一方面不阻塞代码,另一方面也带来了回调地狱—差劲的代码可读性,es6有了async和await让开发者像写同步代码一样写异步代码

async 函数

定义:在普通函数前加一个async关键字

async function getName(){    	return "hezebing";}

调用:与普通函数无区别

getName();//返回一个promise对象

结合await

定义:await + 返回promise的异步调用;表示等待异步函数执行完后,才直接下面的代码。

function getInfomation(){    	return new Promise((res,rej)=>{    		setTimeout(()=>{    			res('hello,i am back after 3 seconds')		},3000)	})}async function main(){    	let msg = await getInfomation();	console.log('this is async function returned information: ' + msg);}main();

总结

  • await + 异步调用 只能用在async函数里。
  • await + async极大地方便了开发者处理有依赖关系的http请求(举个傻傻的例子:先请求用户名,再根据用户名请求用户信息
  • 流程变为:一个整体操作(async函数)+若干个异步请求(仅限于有依赖关系的请求之间,如果不是,那么别用.)。

转载地址:http://lynh.baihongyu.com/

你可能感兴趣的文章
学习笔记【2】第2阶段实战——c++通讯录管理系统
查看>>
【无线传感器网络简明教程-学习笔记8】第八章 无线传感器网络试验
查看>>
【无线传感器网络简明教程-学习笔记9】第一章课后思考题答案
查看>>
【无线传感器网络简明教程-学习笔记11】第三章课后思考题答案
查看>>
C++第十一次作业(类与对象_类的定义、封装、继承、多态)
查看>>
C++第十三次作业(拷贝构造函数_对象数组)
查看>>