ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
区别: ## async: 1.是用来定义函数的,是一个异步函数, 2.打印函数名的时候,可以得到一个promise对象,可以使用`.then`方法,其实就是一个promise对象在调用then()方法 3.内部实现,有返回值:promise.resolve(),出错的话,调用的是promise.reject(),都是返回promise对象,并且用catch捕获 ## await: 1.后边跟的是表达式,一般使用promise的表达式 2.等待后边的promise对象执行完毕,拿到了promise.resolve()的值,再继续执行,当然,也可能是拿到的是promise.reject()的值,有等待的意思,所以await放在try...catch中比较合适 ## 优点: es7语法,代码看起来是同步的,实际上是异步执行的,编写方便,提高程序效率,避免了回调地狱(如:同时请求多个接口,会有多个回调函数,看起来很乱) ## 补充: promise是es6的语法,链式操作,promise中包含catch,async需要自己定义catch,promise提供的方法多一些,all race