JavaScript的异步编程方式有效提高了应用性能;但有时候使用回调函数来组织代码往往会导致代码难以阅读。Promise让我们告别回调函数,可以将嵌套的回调函数展平,写出更优雅的异步代码;在实践过程中,却发现Promise并不完美,这时,我们有了Async/Await。
ES7 中有了更加标准的解决方案,新增了 async/await 两个关键词。async 可以声明一个异步函数,此函数需要返回一个 Promise 对象。await 可以等待一个 Promise 对象 resolve,并拿到结果。
Async/Await简介
- async/await是基于Promise实现的,它不能用于普通的回调函数。
- async/await与Promise一样,是非阻塞的。
- async/await使得异步代码看起来像同步代码。