async/await
async用于申明一个function是异步的,它的返回值是一个promise对象。
await是等待一个异步方法执行完成,await必须搭配async一起使用,不能单独使用。
一般情况下,await是和async一起使用,这样杜绝了复杂的.then链,使代码更加简洁。
下面用代码具体讲解:
//声明一个async函数
async function getAllInfo(){
let info1 = await getinfo1()
console.log(info1)
let info2 = await getinfo2(info1)
console.log(info2)
}
getAllInfo()
function getinfo1(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve("get info1!!")
},1000)
})
}
function getinfo2(info1){
//模拟耗时请求
return new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve("get info2!!!")
},1000)
})
}
结果是过一秒钟打印出get info1!!,
再过一秒钟打印出get info2!!!