async聲明一個函數是異步的,await用於等待異步完成,而且await只能在async中使用。promise
使用async,await並行處理請求,速度減半:異步
將多個promise直接發起請求,先執行async函數,再進行await操做。async
1 async function asyncAwaitfun(str){ 2 return await new Promise((resolve, reject)=>{ 3 setTimeout(()=>{ 4 resolve(str) 5 },1000) 6 }) 7 } 8 9 const parallel = async()=>{ 10 const parallelOne = async(asyncAwaitfun('string 1')) 11 const parallelTwo = async(asyncAwaitfun('string 2')) 12 13 console.log(async parallelOne) 14 console.log(async parallelTwo) 15 }
async,await錯誤處理:函數
當異步請求失敗的時候,即返回Promise對象中要處理reject狀態;spa
在promise當中請求reject 的時候能夠用catch,爲了保持代碼的健壯性,使用async,await時,咱們使用try catch來處理錯誤;code
1 async function catchErr(){ 2 try{ 3 const res = await GetData() //請求後臺接口 4 if(res.code == 200){ 5 console.log('成功') 6 } 7 } 8 catch(err){ 9 console.log(err) 10 } 11 }