课程名称:2022全面升级. Vue3 + TS 仿知乎专栏企业级项目
课程章节: 7-9 使用 async 和 await 改造异步请求
主讲老师:张轩
课程内容:
promise改为async await
课程收获:
说起异步请求从以前到现在就会想到:回调函数,promise,genarator,async await。对于之前的回调函数把控不好就会陷入回调地狱,而promise则会出现链式的调用,可读性不是很好,所以就出现的async await,最新的这个异步方式可读性很好。
两者的区别
Promise的出现解决了传统callback函数导致的“地域回调”问题,但它的语法导致了它向纵向发展行成了一个回调链,遇到复杂的业务场景,这样的语法显然也是不美观的。而async await代码看起来会简洁些,使得异步代码看起来像同步代码,await的本质是可以提供等同于”同步效果“的等待异步返回能力的语法糖,只有这一句代码执行完,才会执行下一句。
async await与Promise一样,是非阻塞的。
async await是基于Promise实现的,可以说是改良版的Promise,它不能用于普通的回调函数。
简单来看,这两者除了语法糖不一样外,他们解决的问题、达到的效果是大同小异的,我们可以在不同的应用场景,根据自己的喜好来选择使用