async/await: 是一个同步思维解决异步问题的计划
1. 会主动将惯例函数转换成 Promise,返回值也是一个 Promise 对象
2. 只有 asyc 函数外部的异步操作执行完,才会执行 then 办法指定的回调函数
3. 异步函数外部能够应用 await
4.await 搁置在 Promise 调用之前,await 强制前面点代码期待,直到 Promise 对象 resolve, 失去 resolve 的值作为 await 表达式的运算后果
5.await 只能在 async 函数外部应用,用在一般函数里就会报错
和 Promise 相比拟
相同点:为了解决异步流程问题,promise 是约定,W 而 async 更优雅
区别:
1.Promise 是 ES6,而 async 是 ES7
2.Promise 原来又标准的意义,Promise a,b,,c,d 等标准,最终确定的是 Promise a+ 标准
3.Promise 链式操作,本人 catch 异样。async 则要在函数内 catch
4.promise 有很多并行器,比方 promise.all\promise.race 等。这些是 async 无奈搞定的
5.promise 是显示的异步,而 async/await 让你的代码看起来是同步的,你仍然要留神异步
6.Promise 即便不反对 es6,你仍然能够用 promise 的库或 polyfill, 而 async 就很难做