一、介绍
async和await是ES7出现关键字,目的是彻底解决回调地狱,比Promise彻底。即就是:把异步的回调变成了同步的写法,async和await是回调地狱的终极解决方案。
二、用法
async function 函数名()
{
try{
let res = await 异步操作 (使用Promise) ;//res: 就是Promise里面resolve函数的参数
console.lor(res);
}catch(err){
err:就是Promise里面reject函数的参数
}
await 异步操作 (使用Promise)
}
三、总结
一、async: 用async修饰的函数,返回值是promise,函数本身的返回值,是Promise对象的resolve函数的参数。
二、await:
1、await只能写在async修饰的函数里
2、await后面修饰的是Promise对象
3、await修饰代码后,会出现等待。
3.1)谁等待呢?await所在行后面的代码会等待。而await修饰的代码本身不会等待。
3.2)等待到什么时候结束呢? 不能简单粗暴的认为是异步操作结束,而应该是:Promise 的状态结束(resolve,reject)
4、await 修饰函数后,那么,返回值变成了Promise对象中resolve的参数