async await
通过 async await 语法可以优雅的以同步的流程表达异步操作;其本质是 Generator 的语法糖。
语法:
async function fun() {
await 异步操作
await 异步操作
}
特点:
- 遇到 await 进行等待,当前的异步操作完成后继续往下执行
- 返回的是 Promise 对象,可以通过 then 方法进行下一步操作
async
async
用于声明一个 function
是异步的,不管 function 是普通函数还是异步函数,通过 async 修饰之后,返回的都是一个 promise
对象,异步函数中的 return 关键字代替了 resolve 方法
async 声明的一个函数中直接 return
一个直接量,async 会把这个直接量通过 Promise.resolve()
封装成 Promise
对象;
只有 async
函数内部的异步操作执行完,才会执行 then
方法指定的回调函数。
async function fun() {
// 返回 promise 对象
return new Promise((resolve, reject) => {
resolve()
})
}
// 打印
console.log(fun())
// 通过 async 处理后返回的都是 promise 对象
async function func() {
// 返回 直接量
return