async函數(shù)(源自ES2017) ?
概念: 真正意義上去解決異步回調(diào)的問(wèn)題,同步流程表達(dá)異步操作 ?
本質(zhì): Generator的語(yǔ)法糖?
?語(yǔ)法: async function foo(){ await 異步操作; await 異步操作潮售; }
?特點(diǎn): 1痊项、不需要像Generator去調(diào)用next方法,遇到await等待酥诽,當(dāng)前的異步操作完成就往下執(zhí)行?
?2鞍泉、返回的總是Promise對(duì)象,可以用then方法進(jìn)行下一步操作?
?3肮帐、async取代Generator函數(shù)的星號(hào)*咖驮,await取代Generator的yield
?4、語(yǔ)意上更為明確训枢,使用簡(jiǎn)單托修,經(jīng)臨床驗(yàn)證,暫時(shí)沒(méi)有任何副作用
async總是返回promise對(duì)象恒界,promise返回的狀態(tài)只能為一種? 要么失敗 要么成功 要么起始狀態(tài)
通過(guò)async來(lái)異步請(qǐng)求后端兩次服務(wù)睦刃,相當(dāng)于同步流程,如下: