首先对于Promise不太熟悉的朋友建议可以先看一下我的这两篇关于Promise的文章
async-await和Promise的关系
async-await是promise和generator的语法糖。只是为了让我们书写代码时更加流畅,当然也增强了代码的可读性。简单来说:async-await 是建立在 promise机制之上的,并不能取代其地位。async和await最关键的用途是以同步的写法实现了异步调用。
基本语法
async function fn() {
let result = await Math.random();
console.log(result);// 0.10492893687819915
}
console.log(fn());// Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: undefined}
上述代码就是async-await的基本使用形式。有两个陌生的关键字async、await,同时函数执行结果返回了一个promise对象,这样一看似乎并没有什么特别之处。
async
async用来表示函数是异步的