|js中async和await的基本使用

文章图片

文章图片
async和await是在es7中的内容 , 不过现在主流浏览器都支持 , 今天我们就来说说怎么用 。
首先你得先了解:es6中的promise请自行了解 , 此篇文章不谈 。
async和await是用来处理异步操作的 , 把异步变为同步的一种方法 。
async声明一个function来表示这个异步函数 , await用于等待函数中某个异步操作执行完成 。
async返回的是一个promise对象 , 返回值可在promise中的then方法中的第一个回调函数中使用 。
await只能用于async的内部 , await用于在一个异步操作之前 , 表示要等待这个异步操作的返回值 。
如果await得到不是一个promise对象 , 那么就不会等待这个异步操作 。
如果是一个promise对象 , await就会等待promise对象的resolve , 得到传入resolve的参数 , 作为返回值 。
依次输出:1 , 20 。
在attract函数中就使用await对象 , 它会等待edition函数执行完毕 , 在执行此函数下面的代码 , 变为同步了 。
如果在edition函数或者attract函数中报错了 , 都将会直接进入then方法的第二个回调函数 。
在edition函数中可以直接调用reject进行错误输出 , 在attract函数则必须是主动抛出代码错误才可以 。
注意:当使用了await时 , 只会阻塞async函数中的代码 , 外部代码依旧是异步在执行的 。
例子:
程序第一肯定会输出1 , 然后进入attract函数内部 , 接着输出2 , 然后看见了await , 等待edition函数的返回值 , 此时在attract函数中的代码是被阻塞的 , 但是外部不会被阻塞 , 所以就接着输出3 。
然后两秒后 , 输出edition函数返回的4 , 最后回到attract函数then方法的第一个回调函数 , 输出了5 。
结果:
【|js中async和await的基本使用】
推荐阅读
- 深圳市场监管|深圳进口冻品须入集中监管仓进行消杀和抽样核酸检测
- 数字人民币试点地区展开测试 集中在餐饮、零售、充值等小范围场景
- the|新冠肺炎成美国第三大致死原因 仅次于心脏病和癌症
- 不起眼的朗姐|和老人出去旅游,为什么会觉得心累?网友:只要老妈身体允许以后还要带她去,哈哈哈哈
- 人间风物志|游雍和宫:有人说这是北京必打卡景点之一,但我并不觉得非去不可
- 识别“95”号段中的“李鬼” 这些小技巧要掌握!
- 珠海生活资讯交流|推动琴澳旅游合作, 大横琴文旅展示中心18日在横琴口岸正式开放
- 中国冰淇淋市场总量超千亿元 还有哪些机会可挖掘?
- 挺过上半年疫情冲击,中国电竞行业为啥更红火了?
- 本月中旬,真爱值得等待,等来了爱情,将彼此珍惜的四大星座
