原文链接:https://blog.csdn.net/qq_47443027/article/details/118763485
原文链接:https://blog.csdn.net/qq_40893035/article/details/114396123
sync , await 一起使用,实际是为了解决异步操作的新方法
但是区别于 promise ,promise 是对异步操作进行封装,解决回调地狱的一种解决方案,本质上是为了让程序员书写异步代码更加方便,阅读起来更加简洁,明朗,可以说promise就是异步操作的一个容器
而async , await,则是promise的一个容器,他对已经包裹好的异步操作的promise进行二次包装,使异步代码看起来像同步一样执行,比promise更加形象的把代码呈现出来
async作为一个关键字放到函数前面,用于表示函数是一个异步函数。异步函数也就意味着该函数的执行不会阻塞后面代码的执行。
异步函数语法很简单,就是在函数前面加上async 关键字,来表示它是异步的。
那怎么调用呢?async 函数也是函数,平时我们怎么使用函数就怎么使用它,直接加括号调用就可以了。
async 函数返回的是一个promise 对象,如果要获取到promise 返回值,我们应该用then 方法
await是等待的意思,await会等待该行代码完全运行,才执行后面的代码,其实它后面可以放任何表达式,不过我们更多的是放一个返回promise 对象的表达式。
注意:await 关键字只能放到async 函数里面
async函数运行后一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句(简单说就是,async的函数虽然是异步的,但是函数里面的执行顺序却是同步的)