在es6中,这两个都是代表异步转同步函数。
但是两者又有些不同之处的。
不同点:1. promise还有多种方法,像resolve,reject,then,catch,finally,all,try,race这些方法。不过一般使用的多的就是前面四个方法。 resolve与reject类似与return 返回以后下面就不再运行了。
2. async/await 就是generator的语法糖,一个async函数可以使用多个await。 (但是await不可以使用在forEach中,可能跟forEach不可以断开有关吧。重点在于可以多次等待异步函数。
这个时候我们就可以结合使用了。正常来说,一个请求一般是封装成promise的,或者说有些异步函数是封装成promise的。那就可以结合使用了。代码传送门
async/await捕获错误:因为返回的是一个promise对象,所以可以用catch捕获错误。