1.两者都是处理异步请求的方式
2.promise是es6的语法,async await是es7的新特性
3.async await 是基于promise实现的,不能用于普通函数,它和promise一样都是非阻塞的
优缺点:
1.promise是返回的对象要用then().catch()去处理数据和捕获异常,而且书写方式是链式的,容易造成代码多层堆叠难以维护;async await 则是通过try{}.cathc{}进行捕获直接抛出异常
2.async await 最大的有点是使代码看起来向同步一样,一遇到await就立即先返回结果然后再执行后面的操作;promise.then()的方式返回就可能在请求还没返回时就先执行了外面的操作