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就很难做